بعد إنشاء الروابط لصفحات معيّنة في التطبيق، سيكون عليك تفعيلها في حزمة تطوير البرامج (SDK) الخاصة بالقياس من أجل استخدامها في "حملات التطبيقات".
توضّح هذه المقالة كيفية تفعيل الربط المؤجَّل لصفحة معيّنة في التطبيق (DDL) في شركاء إحالة التطبيقات (AAP) الخارجيين المعتمَدين أو في أحدث إصدار من حزمة تطوير برامج الخاصة بخدمة "إحصاءات Google لبرنامج Firebase" (GA4F). تعرَّف على كيفية تتبُّع الإحالات الناجحة للتطبيقات الخاصة بالأجهزة الجوّالة باستخدام أدوات تابعة لجهات خارجية.
قبل البدء
لتفعيل الربط المؤجَّل لصفحة معيّنة في التطبيق في شريك إحالة تطبيقات معتمد، يجب أن تكون لديك روابط عاملة لصفحات معيّنة تم تضمينها بشكل صحيح في الخلاصة المرفقة أو تم إرسالها كرابط مؤجَّل لصفحة معيّنة في التطبيق على مستوى مجموعة إعلانية.
التعليمات
كيفية تفعيل DDL في شركاء إحالة التطبيقات المعتمَدين
في ما يلي شركاء إحالة التطبيقات الخارجيين والمعتمدين حاليًا من Google للربط المؤجَّل لصفحة معيّنة في التطبيق:
- Adjust
- AppsFlyer
- Branch
- Kochava
- Singular
اتّبِع الخطوات الواردة أدناه لتفعيل الربط المؤجَّل لصفحة معيّنة في التطبيق في شريك إحالة التطبيقات الذي تختاره.
Adjust
AppsFlyer
- في AppsFlyer، انقر على الإعدادات > الشركاء في عملية الدمج، ثم اختَر إعلانات Google (AdWords).
- ضِمن علامة التبويب الدمج، فعِّل "الربط المؤجَّل لصفحة معيّنة في التطبيق مع خلاصات Google".
- انقر على Save integration (حفظ الدمج).
Branch
Kochava
Singular
اطّلِع على مزيد من المعلومات حول تتبُّع الإحالات الناجحة للتطبيقات من خلال أحد شركاء إحالة التطبيقات.
كيفية تفعيل DDL في حزمة SDK لخدمة GA4F
يمكنك تفعيل DDL في حزمة (SDK) لخدمة GA4F باستخدام الإصدار 17.2.0+ من نظام التشغيل Android، أو إصدار أحدث باتّباع الخطوات التالية:
خطوات تفعيل DDL في حزمة SDK في لخدمة GA4F
1- ضبط تطبيقك لاستخدام "إحصاءات Google لبرنامج Firebase"
يمكنك إزالة كل الاعتماديات على firebase-core
. داخل build.gradle التطبيق. ثم إضافة الاعتمادية على إصدار 17.2.0+ من firebase-analytics
أو تعديلها. يستخدِم المثال أدناه إصدارًا أحدث من حزمة تطوير البرامج (SDK).
الاعتماديات {
...
implementation 'com.google.firebase:firebase-analytics:21.0.0'
...
}
2- تفعيل الميزة في تطبيقك
يمكنك تعديل بيان التطبيق عن طريق إضافة علامة البيانات الوصفية التالية إلى علامة التطبيق.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myawesome.app">
<uses-permission android:name="android.permission.INTERNET" />
<application
android:name=".MainActivity">
<!-- Value to be added to enable deferred deep links -->
<meta-data android:name="google_analytics_deferred_deep_link_enabled" android:value="true"/>
<activity
android:name=".MainActivity" >
</activity>
</application>
</manifest>
عند التفعيل، سيسترجع GA4F الرابط للصفحة في التطبيق، عند بدء تشغيل التطبيق، للحملة المقابلة التي تم إعدادها.
3- الحصول على الرابط للصفحة في التطبيق
يمكنك إعداد أداة معالجة تغيير SharedPreferences ضمن فئة نشاط الإطلاق الرئيسية. وسيظهر هذا عند توفُّر ملف DDL. إذا كنت ستسجِّل أداة معالجة الحدث لاحقًا في مراحل نشاط التطبيق، يمكن أن يكون قد سبق استرداد رابط الصفحة في التطبيق. في هذه الحالة، لن تظهر أداة معالجة الحدث، ويمكنك البحث على الفور عن قيمة رابط الصفحة في التطبيق من خلال قراءة SharedPreferences.
تخزِّن GA4F رابط الصفحة في التطبيق داخل ملف SharedPreferences. google.analytics.deferred.deeplink.prefs
باستخدام المفتاح deeplink
. وتخزِّن GA4F أيضًا، في ملف SharedPreferences نفسه، الطابع الزمني للنقر على الإعلان باستخدام المفتاح timestamp
. تجدر الإشارة إلى أن تنسيق الطابع الزمني هو ميكروثانية (ملي ثانية متبوعة بنقطة وميكروثانية) ويتم تخزينه في SharedPreferences باستخدام رمز طويل عندما يكون النوع مزدوجًا. استخدِم Double.longBitsToDouble(...) لتحليل القيمة الفعلية.
مثال:
/**
* نشاط الإطلاق الرئيسي للتطبيق.
*/
public class MainActivity extends AppCompatActivity {
private SharedPreferences preferences;
private SharedPreferences.OnSharedPreferenceChangeListener deepLinkListener;
@Override
protected void onStart() {
super.onStart();
preferences.registerOnSharedPreferenceChangeListener(deepLinkListener);
}
@Override
protected void onStop() {
super.onStop();
preferences.unregisterOnSharedPreferenceChangeListener(deepLinkListener);
deepLinkListener = null;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
preferences =
getSharedPreferences("google.analytics.deferred.deeplink.prefs", MODE_PRIVATE);
deepLinkListener = (sharedPreferences, key) -> {
Log.d("DEEPLINK_LISTENER", "Deep link changed");
if ("deeplink".equals(key)) {
String deeplink = sharedPreferences.getString(key, null);
Double cTime = Double.longBitsToDouble(sharedPreferences.getLong("timestamp", 0));
Log.d("DEEPLINK_LISTENER", "Deep link retrieved: " + deeplink);
showDeepLinkResult(deeplink);
}
};
}
public void showDeepLinkResult(String result) {
String toastText = result;
if (toastText == null) {
toastText = "The deep link retrieval failed";
} else if (toastText.isEmpty()) {
toastText = "Deep link empty";
}
Toast.makeText(MainActivity.this, toastText, Toast.LENGTH_LONG).show();
Log.d("DEEPLINK", toastText);
}
}
4- تحضير البيانات للاختبار التشخيصي
للتحقّق من صحة التنفيذ، احصل على المعرّف الإعلاني للجهاز الذي تريد اختباره. يمكنك استخدام الأمر التالي لضبط DDL الذي سيتلقاه التطبيق.
"www.googleadservices.com/pagead/conversion/app/deeplink?&rdid=<<your device adid>>&id_type=adid&bundleid=<<your application package>>&deeplink=<<deeplink you want to receive>>&ddl_test=1"
لمعرفة ما إذا كان قد تم ضبط رابط الصفحة في التطبيق بشكل صحيح، يمكنك استخدام هذا الطلب للتحقّق من الرد.
تنتهي صلاحية رابط الصفحة في التطبيق هذا بعد 24 ساعة. كرِّر هذه الخطوة إذا انتهت صلاحية رابط الصفحة في التطبيق.
5. تفعيل وضع الاختبار لاسترجاع DDL التجريبي
فعِّل وضع اختبار الربط المؤجَّل لصفحة معيّنة في التطبيق لبدء الاختبار على أجهزتك.
adb shell setprop debug.deferred.deeplink <<your application package>>
بعد ذلك، يمكنك تفعيل وضع تصحيح الأخطاء على جهازك. ابدأ باستخدام تطبيقك، في أداة Logcat، وتحقّق من أن الرسالة المسجلّة تعرض gmp_version
بما يساوي 18200
على الأقل. سيؤدي البحث عن الكلمة الرئيسية deferred
إلى فلترة جميع رسائل تصحيح الأخطاء من "إحصاءات Google لبرنامج Firebase" ذات الصلة بهذه الوظيفة.
مثال:
D/FA: Deferred Deep Link feature enabled.
FA-SVC: Uploading data. app, uncompressed size, data: <<your application package>>,
…
gmp_version: 18200