انتقل إلى المحتوى

استخدام وحدة تحديد الموقع في Pushwoosh في تطبيقات Android

هناك فئتان للوصول إلى الموقع في Android:

  • الوصول إلى الموقع في المقدمة (Foreground)
  • الوصول إلى الموقع في الخلفية (Background)

لتحديث موقع المستخدم في المقدمة (foreground)، يجب استيفاء أحد الشروط التالية:

  • أحد أنشطة التطبيق نشط
  • تم تشغيل خدمة المقدمة (Foreground service) من نوع foregroundServiceType = “location” للتطبيق

يسمح الوصول في الخلفية (Background) للتطبيق بالحصول على الموقع الجغرافي للمستخدم بينما يكون التطبيق غير نشط، ولم يتم تشغيل أي خدمات مقدمة (foreground services) من نوع “location” لهذا التطبيق.

الوصول إلى الموقع في المقدمة (Foreground)

Anchor link to

إذا كنت ستستخدم وحدة تحديد المواقع من Pushwoosh لتحديث موقع المستخدم فقط عندما يكون تطبيقك نشطًا، فأضف وحدة pushwoosh-location إلى ملف app/build.gradle الخاص بك:

build.gradle
implementation 'com.pushwoosh:pushwoosh-location:6.+'

لتشغيل الوحدة، استخدم طريقة startLocationTracking:

PushwooshLocation.startLocationTracking();

استخدام ForegroundService لإجراء طلبات الموقع عندما يكون تطبيقك في الخلفية

Anchor link to

لتشغيل ForegroundService عند استدعاء طريقة startLocationTracking، والتي تسمح بالحصول على الموقع الجغرافي للمستخدم عندما يكون تطبيقك في الخلفية، اتبع الخطوات الموضحة في الفقرة السابقة، ثم أضف البيانات الوصفية التالية إلى ملف AndroidManifest.xml الخاص بك:

...
<application>
....
<meta-data
android:name="com.pushwoosh.start_foreground_service"
android:value="true" />
...
</application>
...

عند تشغيل ForegroundService، يتم إنشاء إشعار. يمكنك تخصيص الإشعار عن طريق تحديد البيانات الوصفية الإضافية في ملف AndroidManifest.xml الخاص بمشروعك:

...
<application>
....
<meta-data
android:name="com.pushwoosh.foreground_service_notification_text"
android:value="My notification text" />
<meta-data
android:name="com.pushwoosh.foreground_service_notification_channel_name"
android:value="My notification channel name" />
...
</application>
...

الوصول إلى الموقع في الخلفية (Background)

Anchor link to

لتحديث الموقع الجغرافي في الخلفية دون تشغيل ForegroundService، ستحتاج إلى ما يلي:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

في الإصدار 6.3.2 من وحدة pushwoosh-location، قمنا بتضمين طريقة إضافية تفتح شاشة إعدادات إذن الموقع إذا تم استيفاء الشروط التالية:

  • يوجد إذن الموقع في المقدمة ممنوح للتطبيق؛
  • يوجد إذن المستخدم ACCESS_BACKGROUND_LOCATION في ملف AndroidManifest.xml الخاص بالتطبيق.

استدعِ الطريقة على النحو التالي:

PushwooshLocation.requestBackgroundLocationPermission();

أنواع أذونات Android 12+

Anchor link to

بدءًا من Android 12، عند طلب إذن الوصول إلى الموقع في المقدمة، يمكن للمستخدم اختيار عدد مرات ودقة حصول التطبيق على موقع المستخدم.

هناك نوعان من تلك الأذونات:

  1. الموقع التقريبي (Approximate location)، وهو يعادل ACCESS_COARSE_LOCATION
  2. الموقع الدقيق (Precise location)، وهو يعادل ACCESS_FINE_LOCATION و ACCESS_COARSE_LOCATION

شاركنا ملاحظاتك

Anchor link to

تساعدنا ملاحظاتك في إنشاء تجربة أفضل، لذا نود أن نسمع منك إذا واجهت أي مشاكل أثناء عملية دمج SDK. إذا واجهت أي صعوبات، فلا تتردد في مشاركة أفكارك معنا عبر هذا النموذج.