پرش به مطلب اصلی
نسخه: 3.0.0+

تنظیم deep linking استاندارد

اگر کاربر قبلاً اپ شما را نصب کرده و یک URL tracker Adtrace که شامل پارامتر deep_link است را باز کند، Android می‌تواند اپ شما را راه‌اندازی کند و آن deep link را به Activity تحویل دهد.

مراحل تنظیم​

  1. یک URL scheme منحصربه‌فرد انتخاب کنید.
  2. آن scheme را در یک Activity در AndroidManifest.xml ثبت کنید.
  3. همان scheme را در پارامتر deep_link tracker قرار دهید (URL-encoded).
  4. Deep link را از Intent Activity بخوانید.
  5. برای کمپین‌های re-engagement، همچنین AdTrace.appWillOpenUrl() را فراخوانی کنید.

۱. انتخاب یک نام scheme منحصربه‌فرد​

یک scheme منحصربه‌فرد برای اپ خود انتخاب کنید (مثلاً adtraceExample). همان scheme را هم در manifest و هم در URL tracker استفاده کنید.

۲. اضافه کردن یک intent filter در AndroidManifest.xml​

Scheme را به Activity‌ای که می‌خواهید پس از انتخاب URL tracker توسط کاربر باز شود اختصاص دهید. یک intent-filter اضافه کنید و android:scheme را به نام scheme خود تنظیم کنید:

<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name"
android:screenOrientation="portrait">

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="adtraceExample" />
</intent-filter>
</activity>

همان scheme را در پارامتر deep_link URL tracker استفاده کنید. یک URL tracker بدون مسیر deep link اضافی می‌تواند این‌گونه باشد:

https://app.adtrace.io/adt1ex?deep_link=adtraceExample%3A%2F%2F

آن مقدار رمزگذاری شده adtraceExample:// است.

مهم

باید مقدار پارامتر deep_link را در URL tracker URL-encode کنید. در اپ شما، مقداری که دریافت می‌کنید رمزگذاری نشده است.

هنگامی که کاربر URL tracker را انتخاب می‌کند، Android اپ شما را راه‌اندازی می‌کند و Activity پیکربندی شده را باز می‌کند. Deep link در Intent Activity تحویل می‌شود.

android:launchMode در AndroidManifest.xml کنترل می‌کند که آیا محتوا در onCreate، onNewIntent، یا هر دو می‌رسد. برای جزئیات به حالت‌های launch Activity Android مراجعه کنید.

onCreate​

هنگامی که Activity برای deep link ایجاد می‌شود از این استفاده کنید:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Uri data = getIntent().getData();
// data.toString() -> مقدار پارامتر deep_link
}

onNewIntent​

هنگامی که Activity قبلاً وجود دارد و یک Intent deep link جدید دریافت می‌کند از این استفاده کنید:

@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);

Uri data = intent.getData();
// data.toString() -> مقدار پارامتر deep_link
}

از مقدار URI برای منطق اپ خود استفاده کنید (مثلاً باز کردن یک صفحه خاص).

۵. Attribution re-engagement (اختیاری)​

اگر deep link بخشی از یک کمپین re-engagement است، AdTrace.appWillOpenUrl() را هنگام دریافت لینک فراخوانی کنید تا Adtrace بتواند کاربر را دوباره attribute کند. به Reattribute از deep link ها مراجعه کنید.