این راهنمای مهاجرت بر روی استفاده از پیوندهای برنامه و پیوندهای جهانی تمرکز دارد و به صورت اختیاری از میزبانی Firebase برای میزبانی فایلهای مرتبط با سایت برنامه شما استفاده میکند.
این انتقال جایگزین ویژگی های Firebase Dynamic Links زیر می شود:
ویژگی | لینک های دینامیک Firebase | پیوندهای برنامه / پیوندهای جهانی |
---|---|---|
کاربران را با یک کلیک لینک به فروشگاه صحیح دستگاه خود هدایت کنید | ★ | |
پس از دانلود و نصب برنامه خود با استفاده از یک پیوند عمیق معوق، ادامه سفر را به کاربران ارائه دهید | ★ | |
با استفاده از محتوای پیوند عمیق در برنامه خود (در صورت نصب از قبل) تجربه متنی را به کاربران ارائه دهید. | ||
داده های تحلیلی مربوط به رویدادهای کلیک پیوند پویا را ارائه دهید | ||
امکان ایجاد URL های لینک کوتاه را فراهم کنید |
اگر همچنان به سایر ویژگیهای Firebase Dynamic Link برای مهاجرت خود نیاز دارید که در این راهنما پشتیبانی نمیشوند، سایر سناریوهای انتقال را در مستندات سؤالات متداول لغو پیوندهای دینامیک مشاهده کنید.
فرض کنید یک لینک دینامیک Firebase دارید که به شکل زیر است:
مثال پیوند پویا | |
---|---|
نام پیوند | به Example.com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
اپلیکیشن اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
هدف این راهنمای مهاجرت جایگزینی پیوندهای دینامیک Firebase مانند این است:
https://example.page.link/m9Mm
با پیوندهای عمیق برنامه / پیوند جهانی که به شکل زیر هستند:
https:// your-project-domain .web.app/welcome
توجه داشته باشید که پیوند عمیق برنامه / پیوند جهانی موارد زیر را در اختیار کاربران شما قرار می دهد:
- پیوند عمیقی که آنها می توانند روی آن کلیک کنند و پس از نصب برنامه شما را باز می کند
- ادامهی سفر کاربر آنها که هنگام باز شدن، آنها را به بخش خاصی از برنامه شما هدایت میکند
با این حال، پیوند عمیق برنامه / پیوند جهانی رفتارهای زیر را برای کاربران شما ارائه نمی دهد (که قبلاً Firebase Dynamic Links انجام می داد):
- پیمایش کاربران به فروشگاه صحیح دستگاهشان برای دانلود و نصب برنامه شما
- ارائه ادامه سفر کاربر پس از دانلود، نصب و باز کردن برنامه برای اولین بار
به تفاوت های رفتار و عملکرد این پیوندهای برنامه / پیوندهای جهانی در مقایسه با پیوندهای دینامیک Firebase که در جدول بالا ذکر شده است توجه کنید.
قبل از شروع
Firebase Dynamic Links از پیوندهای برنامه (در اندروید) و پیوندهای جهانی (در iOS) در پیاده سازی زیربنایی خود استفاده می کند تا پس از نصب برنامه شما، عملکرد پیوند عمیق را ارائه دهد.
این راهنما نحوه ایجاد پیوندهای برنامه و پیوندهای جهانی خود را با استفاده از میزبانی Firebase برای جایگزینی بخشی از عملکرد ارائه شده توسط Firebase Dynamic Links در حین انتقال پیوندهای دینامیک Firebase به راه حل جدید App Links / Universal Links توضیح می دهد.
برای تکمیل مهاجرت خود به اطلاعات زیر نیاز دارید:
- پیوندهای دینامیک Firebase که قصد مهاجرت آنها را دارید
- پارامترهای URL پیوند عمیق موجود در پیوندهای پویا شما
- دامنه ای که قصد دارید برای جایگزینی دامنه Firebase Dynamic Links قبلی خود استفاده کنید (در صورت وجود)
میتوانید از راهنمای Export Dynamic Links Metadata برای صادر کردن ابرداده پیوند موجود خود استفاده کنید و اطلاعات ذکر شده در بالا را به دست آورید.
نمای کلی مراحل مهاجرت
یک دامنه جدید (اگر قبلاً ندارید که می خواهید از آن استفاده کنید) برای میزبانی فایل های پیکربندی App Link / Universal Link خود با استفاده از میزبانی Firebase فراهم کنید.
فایل های پیکربندی App Link / Universal Link خود را در دامنه میزبانی خود ایجاد و میزبانی کنید.
پیوندهای برنامه جدید / پیوندهای جهانی مطابق با طرح پیوند عمیق مورد استفاده در پیوندهای دینامیک Firebase خود ایجاد کنید.
برای دریافت لینک های عمیق، برنامه های Android/iOS و کد برنامه خود را به روز کنید.
آزمایش ادغام پیوندهای برنامه / پیوندهای جهانی.
پیوندهای دینامیک Firebase منتشر شده یا به اشتراک گذاشته شده خود را با پیوندهای برنامه و پیوندهای جهانی جایگزین کنید.
اولین مرحله برای هر دو پیوندهای برنامه یا جریان مهاجرت پیوند جهانی مشترک خواهد بود. باقیمانده بسته به پلتفرم متفاوت خواهد بود، بنابراین بسته به اینکه کدام پلتفرم را میخواهید ابتدا مهاجرت کنید، به بخش راهنمای زیر بروید.
یک دامنه جدید برای میزبانی فایل های پیکربندی App Link / Universal Link خود با استفاده از میزبانی Firebase فراهم کنید
دامنه را انتخاب کنید
اولین قدم انتخاب دامنه ای است که می خواهید برای پیوندهای برنامه / پیوندهای جهانی خود استفاده کنید. این دامنه ای است که برای پیوندهای جدیدی که با کاربران خود به اشتراک می گذارید استفاده می شود.
اگر از میزبانی Firebase استفاده می کنید، زیردامنه های پروژه با قالب your-project-domain .web.app
یا your-project-domain .firebaseapp.com
به طور خودکار و بدون هیچ هزینه ای ارائه می شوند. می توانید به صورت اختیاری از یک دامنه سفارشی با یا بدون میزبانی Firebase برای میزبانی فایل های پیکربندی App Link / Universal Link خود استفاده کنید.
میزبانی Firebase را راه اندازی کنید
در مرحله بعد، باید نمونه میزبانی Firebase خود را تنظیم و پیکربندی کنید .
تا زمانی که راهاندازی نمونه میزبانی Firebase خود را به پایان رساندید، دامنهای مشابه با your-project-domain .web.app
« خواهید داشت، یا اگر ترجیح میدهید یک دامنه سفارشی خواهید داشت.
مراحل مهاجرت برای پیوندهای برنامه اندروید
فایل های پیکربندی App Link خود را در دامنه میزبانی جدید خود ایجاد و میزبانی کنید
برای استفاده از App Links، باید یک فایل پیکربندی را میزبانی کنید که به ایجاد ارتباط ایمن بین دامنه مورد استفاده در پیوندها و برنامه شما کمک کند. برای پیوندهای برنامه، این فایل assetlinks.json
است.
مراحل ایجاد و میزبانی فایل assetlinks.json
فایل assetlinks.json
به ما امکان میدهد فهرستی از برنامههای مجاز ارائه کنیم که میتوانند محتویات دامنه وب را که برای پیوندهای برنامه خود استفاده میکنیم، مدیریت کنند. خود فایل assetlinks.json باید در ریشه دامنه وب تحت مسیر: /.well-known
میزبانی شود.
برای تکمیل این پیکربندی مراحل زیر را دنبال کنید:
پوشه
.well-known
را در زیر پوشه عمومی در پوشه ریشه Firebase Hosting خود ایجاد کنید.فایلی به نام
assetlinks.json
در زیر پوشه.well-known
ایجاد کنید.محتوای زیر را در فایل assetlinks.json خود کپی کنید و به معنی هر قسمت زیر توجه داشته باشید:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.android", "sha256_cert_fingerprints": ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"] } }]
-
namespace
- به نام برنامه ای که می خواهید ارائه دهید اشاره دارد -
package_name
- به applicationId اعلام شده در فایلbuild.gradle
برنامه اشاره دارد -
sha256_cert_fingerprints
- به اثر انگشت SHA256 از فایل keystore که برای امضای برنامه استفاده میکنید، اشاره دارد.
میتوانید از فایل debug.keystore استفاده شده توسط Android Studio برای ایجاد رکورد sha256_cert_fingerprints برای اهداف اشکالزدایی استفاده کنید. میتوانید فایل را در
/Users/<username>/.android/debug.keystore
در Mac و Linux وC:\Users\<username>\.android\debug.keystore
در Windows پیدا کنید.از این فروشگاه کلید، می توانید مقدار SHA256 را با استفاده از ابزار کلید واکشی کنید.
برای دستورالعمل های بیشتر در مورد تکمیل این مرحله به این بخش از اسناد App Links مراجعه کنید.
همچنین میتوانید از App Links Assistant در Android Studio برای تولید محتوای فایل assetlinks.json و پیکربندی برنامه خود برای مدیریت پیوندهای برنامه استفاده کنید.
-
فایل firebase.json خود را برای ایندکس کردن فایل برای میزبانی به روز کنید.
"headers": [ { "source": "/.well-known/assetlinks.json", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
اکنون که فایل assetlinks.json را در اختیار داریم،
firebase deploy
برای میزبانی تغییرات اجرا کنید.توجه داشته باشید که برای اجرای دستور deploy بالا باید Firebase CLI را نصب کنید.
firebase deploy --only hosting
فایل assetlinks.json را با رفتن به
https:// your-project-domain .web.app/.well-known/assetlinks.json
تأیید کنید.
پیوندهای برنامه جدید مطابق با طرح پیوند عمیق مورد استفاده در پیوندهای دینامیک Firebase خود ایجاد کنید
در این مرحله، پیوندهای عمیق را از پیوندهای دینامیک Firebase خود با استفاده از URLهای پیوند عمیق معمولی مطابق با دامنه جدیدی که برای پیوندهای برنامه خود ایجاد کرده اید، دوباره ایجاد می کنید.
برای مثال، فرض کنید پیوند دینامیک Firebase زیر را دارید:
مثال پیوند پویا | |
---|---|
نام پیوند | به Example.com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
اپلیکیشن اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
در این مورد، پارامتر پیوند عمیق - یعنی https://example.web.app/welcome را استخراج می کنید و اکنون از آن به عنوان پارامتر App Link برای برنامه خود استفاده می کنید.
میخواهید این فرآیند را برای هر پیوند دینامیک Firebase که میخواهید با استفاده از پیوندهای برنامه / پیوندهای جهانی به آن منتقل کنید، تکرار کنید و طرح پیوند عمیقی را که استفاده کردهاید تکرار کنید.
برای مثال، لطفاً مجموعه زیر از پیوندهای کوتاه Firebase Dynamic Links، پارامترهای پیوند عمیق و مقادیر پیوند عمیق منتقل شده را ببینید:
لینک کوتاه | پارامتر پیوند عمیق | پیوند عمیق مهاجرت کرد |
---|---|---|
yourapp.page.link/welcome | https://example.com/welcome | yourapp.web.app/welcome |
yourapp.page.link/c7sn | https://example.com/main/?p=23&t=1 | yourapp.web.app/main/?p=23&t=1 |
yourapp.page.link/social | https://example.com/friendinvite/?add=1 | yourapp.web.app/friendinvite/?add=1 |
در مرحله بعد، باید هر نمونه ای از پیوندهای دینامیک Firebase را که منتشر شده یا به اشتراک گذاشته شده است، با پیوندهای عمیق مهاجرت شده جدید جایگزین کنید تا کاربران به جای پیوندهای دینامیک Firebase قبلی روی آن پیوندهای برنامه کلیک کنند.
برای دریافت لینک های عمیق، برنامه اندروید و کد برنامه خود را به روز کنید
گام بعدی پس از انتخاب دامنه، انتخاب طرح پیوند عمیق و انتقال لینکهای دینامیک Firebase به پیوندهای برنامه، بهروزرسانی برنامه اندروید و کد برنامه برای دریافت پیوندهای عمیق جدید است.
توصیه میکنیم اسناد کامل App Links را در اینجا دنبال کنید یا راهنمای Android Studio را در مورد پیکربندی برنامه خود برای مدیریت پیوندهای عمیق دنبال کنید، اما مراحل اصلی عبارتند از:
- شناسایی فعالیت هایی که باید پیوندهای عمیق مربوطه را مدیریت کنند
- افزودن فیلتر هدف برای آن فعالیتها در فایل AndroidManifest.xml
- دریافت لینک عمیق در کد برنامه فعالیت های شما
فرض کنید میخواستید از MainActivity برای مدیریت برخی از پیوندهای عمیق خود استفاده کنید. برای انجام این کار، باید فیلتر Intent زیر را به MainActivity در فایل AndroidManifest.xml خود اضافه کنید:
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="example.web.app" android:scheme="http"
android:pathPrefix="/welcome" />
<data android:host="example.web.app" android:scheme="https"
android:pathPrefix="/welcome" />
</intent-filter>
</activity>
در این مرحله، شما مشخص میکنید که MainActivity مقصدی برای مدیریت پیوندهای عمیق از دامنه wxample.web.app است و شامل پیشوند مسیر خوشآمدگویی / است. توجه داشته باشید که باید ویژگی android:autoVerify="true" را نیز مشخص کنید، که به شما امکان می دهد برنامه خود را به عنوان کنترل کننده پیش فرض برای این نوع پیوند مشخص کنید.
در نهایت، باید کد را در MainActivity خود اضافه کنید تا داده های پیوند عمیق را بازیابی کنید و از آن برای ایجاد تجربه پیوند عمیق در برنامه خود استفاده کنید. این شبیه به منطقی است که ممکن است قبلاً در برنامه خود هنگام ادغام با Firebase Dynamic Links کدگذاری کرده باشید.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
val data: Uri? = intent?.data
val toast = Toast.makeText(this, data, duration)
toast.show()
}
تست لینک های اپلیکیشن
میتوانید پیوندهای برنامهای را که به تازگی ایجاد کردهاید، با اجرای برنامه خود بر روی یک دستگاه فیزیکی یا در شبیهساز Android آزمایش کنید.
شما باید با استفاده از دامنه پیکربندی شده برای App Links خود، یک پیوند قابل کلیک ایجاد کنید و سپس روی آن پیوند کلیک کنید تا مطمئن شوید که در برنامه شما باز می شود و شما را به فعالیت مورد نظر هدایت می کند.
همچنین میتوانید ادغام App Links خود را با استفاده از App Links Assistant در Android Studio آزمایش کنید، یا از دستور زیر برای URL Link App که پیکربندی کردهاید استفاده کنید تا مطمئن شوید که فعالیت منطبق را به درستی اجرا میکند:
adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>
پیوندهای دینامیک Firebase منتشر شده یا به اشتراک گذاشته شده خود را با پیوندهای برنامه جایگزین کنید
آخرین مرحله برای انتقال شما این است که پیوندهای دینامیک Firebase منتشر شده یا مشترک خود را با پیوندهای برنامه جایگزین کنید تا جایی که ممکن است، و ادامه استفاده از App Links را در آینده ادامه دهید.
تکمیل این مرحله بسته به مکان و نحوه انتشار پیوندهای دینامیک Firebase متفاوت است، اما برای کمک به شما در ردیابی این پیوندها، میتوانید فراداده Firebase Dynamic Link موجود خود را صادر کنید. راهنمای Export Links Dynamic Metadata را ببینید.
مراحل مهاجرت برای پیوندهای جهانی در iOS
فایل های پیکربندی Universal Links خود را در دامنه میزبانی جدید خود ایجاد و میزبانی کنید
برای استفاده از پیوندهای جهانی، باید یک فایل پیکربندی میزبانی کنید که به ایجاد ارتباط ایمن بین دامنه مورد استفاده در پیوندها و برنامه شما کمک می کند. برای پیوندهای جهانی، این فایل apple-app-site-association
(همچنین به عنوان فایل AASA شناخته می شود) است.
مراحل ایجاد و میزبانی فایل apple-app-site-association
فایل AASA به ما امکان می دهد فهرستی از برنامه های مجاز ارائه کنیم که می توانند محتویات دامنه وب را که برای پیوندهای جهانی خود استفاده خواهیم کرد، مدیریت کنند. خود فایل AASA باید در ریشه دامنه وب تحت مسیر: /.well-known میزبانی شود.
برای تکمیل این پیکربندی مراحل زیر را دنبال کنید:
پوشه " .well-known " را در زیر پوشه عمومی در پوشه ریشه Firebase Hosting خود ایجاد کنید.
فایلی با نام " apple-app-site-association " در زیر پوشه ".well-known" ایجاد کنید.
محتوای زیر را در فایل apple-app-site-association خود کپی کنید و به معنی هر قسمت زیر توجه داشته باشید:
{ "applinks": { "apps": [], "details": [ { "appId": "$TEAM_ID.com.firebase.UniversalLinks", "paths": [ "NOT /_/*", "/*" ] } ] } }
- $TEAM_ID.BundleId - نام برنامه کاملاً واجد شرایط مجاز برای مدیریت پیوندها
فایل firebase.json خود را برای ایندکس کردن فایل برای میزبانی به روز کنید.
"headers": [ { "source": "/.well-known/apple-app-site-association", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
اکنون که فایل AASA را در اختیار داریم، firebase را برای میزبانی تغییرات انجام دهید.
با رفتن به https:// your-project-domain .web.app/.well-known/app-app-site-association فایل AASA را تأیید کنید.
ایجاد پیوندهای جهانی جدید مطابق با طرح پیوند عمیق مورد استفاده در پیوندهای دینامیک Firebase شما
در این مرحله، پیوندهای عمیق را از پیوندهای دینامیک Firebase خود با استفاده از URLهای پیوند عمیق معمولی مطابق با دامنه جدیدی که برای پیوندهای جهانی خود ایجاد کرده اید، دوباره ایجاد می کنید.
برای مثال، فرض کنید پیوند دینامیک Firebase زیر را دارید:
مثال پیوند پویا | |
---|---|
نام پیوند | به Example.com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
اپلیکیشن اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
در این مورد، پارامتر پیوند عمیق - یعنیhttps://example.web.app/welcome را استخراج می کنید و اکنون از آن به عنوان پارامتر لینک جهانی برای برنامه خود استفاده می کنید.
میخواهید این فرآیند را برای هر پیوند دینامیک Firebase که میخواهید با استفاده از پیوندهای برنامه / پیوندهای جهانی به آن منتقل کنید، تکرار کنید و طرح پیوند عمیقی را که استفاده کردهاید تکرار کنید.
برای مثال، لطفاً مجموعه زیر از پیوندهای کوتاه Firebase Dynamic Links، پارامترهای پیوند عمیق و مقادیر پیوند عمیق منتقل شده را ببینید:
لینک کوتاه | پارامتر پیوند عمیق | پیوند عمیق مهاجرت کرد |
---|---|---|
yourapp.page.link/welcome | https://example.com/welcome | yourapp.web.app/welcome |
yourapp.page.link/c7sn | https://example.com/main/?p=23&t=1 | yourapp.web.app/main/?p=23&t=1 |
yourapp.page.link/social | https://example.com/friendinvite/?add=1 | yourapp.web.app/friendinvite/?add=1 |
در مرحله بعد، باید هر نمونه ای از پیوندهای دینامیک Firebase را که منتشر شده یا به اشتراک گذاشته شده است، با پیوندهای عمیق مهاجرت شده جدید جایگزین کنید تا کاربران به جای پیوندهای دینامیک Firebase قبلی، روی آن پیوندهای جهانی کلیک کنند.
برای دریافت لینک های عمیق، برنامه iOS و کد برنامه خود را به روز کنید
گام بعدی پس از انتخاب دامنه، انتخاب یک طرح پیوند عمیق و انتقال پیوندهای دینامیک Firebase به پیوندهای جهانی، به روز رسانی برنامه iOS و کد برنامه برای دریافت پیوندهای عمیق جدید است.
توصیه میکنیم برای پیکربندی برنامه خود برای مدیریت پیوندهای عمیق ، اسناد کامل پیوندهای جهانی را در اینجا دنبال کنید، اما مراحل اصلی عبارتند از:
پیکربندی پروژه خود را به روز کنید تا برنامه شما بتواند پیوندهای عمیق دامنه جدید ایجاد شده شما را مدیریت کند
پیوند عمیق را در کد برنامه خود دریافت کنید
برای اینکه پیکربندی پروژه خود را به روز کنید تا برنامه شما بتواند پیوندهای عمیق را مدیریت کند، باید یک دامنه مرتبط اضافی به پروژه خود در xCode برای دامنه ای که اکنون قصد دارید برای میزبانی فایل apple-app-site-associate خود استفاده کنید، اضافه کنید.
این می تواند توسط:
- باز کردن Xcode
- انتخاب پروژه خود در ناوبر فایل
- به برگه امضا و قابلیتها در تنظیمات پروژه خود بروید
- به بخش Associated Domains بروید
- با کلیک بر روی دکمه + دامنه اضافی را به پروژه خود در قالب "applinks:
".
در نهایت، باید کد برنامه خود را به روز کنید تا بتوانید لینک های عمیق دریافتی را دریافت کنید.
برای انجام این کار، ابتدا فایل AppDelegate.swift را بهروزرسانی کنید تا با افزودن کد زیر به پیوند جهانی پاسخ دهد:
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
AppDelegate.showReceivedUrl(userActivity: userActivity);
return true
}
static func showReceivedUrl(userActivity: NSUserActivity) {
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
let url = userActivity.webpageURL!
print(url.absoluteString)
}
کد بالا روش برگشت فراخوان پیوند جهانی را لغو می کند و در صورت وجود URL پیوند عمیق را ثبت می کند.
اکنون همان متد showReceivedUrl
از کلاس SceneDelegate نیز فراخوانی میکنیم، زیرا اگر تا زمانی که کاربر روی پیوند جهانی کلیک کرد، برنامه از قبل باز شده باشد، پاسخ تماس جهانی در داخل SceneDelegate
همان چیزی است که فراخوانی میشود.
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
AppDelegate.showReceivedUrl(userActivity: userActivity)
}
تست لینک های جهانی
میتوانید پیوندهای جهانی را که به تازگی ایجاد کردهاید، با اجرای برنامه خود بر روی یک دستگاه فیزیکی یا شبیهساز آزمایش کنید.
شما باید یک پیوند قابل کلیک با استفاده از دامنه پیکربندی شده برای پیوندهای جهانی خود ایجاد کنید و سپس روی آن پیوند کلیک کنید تا مطمئن شوید که در برنامه شما باز می شود و شما را به صفحه مورد نظر در برنامه خود هدایت می کند.
پشتیبانی از بنرهای اپلیکیشن هوشمند
ما قویاً استفاده از بنرهای برنامه هوشمند را به عنوان راهی برای ارائه تجربه مشابه با Firebase Dynamic Links به کاربران خود توصیه می کنیم.
با استفاده از بنرهای برنامه هوشمند، اگر برنامه شما قبلاً روی دستگاهشان نصب نشده باشد، کاربران شما برای لیست برنامه شما به فروشگاه App برده می شوند. همچنین میتوانید به صورت اختیاری پارامتری را پیکربندی کنید تا پس از دانلود و نصب برنامه به آن منتقل شود تا ادامه سفر را به کاربران خود ارائه دهید. اگر برنامه شما قبلاً نصب شده باشد، پارامتری را به برنامه شما منتقل می کند تا به کاربر کمک کند بر اساس بنر برنامه هوشمندی که روی آن کلیک کرده است به محتوای مناسب هدایت شود.
پیوندهای دینامیک Firebase منتشر شده یا به اشتراک گذاشته شده خود را با پیوندهای برنامه جایگزین کنید
گام نهایی برای مهاجرت شما این است که پیوندهای دینامیک Firebase منتشر شده یا به اشتراک گذاشته شده خود را با پیوندهای جهانی در هر کجا که ممکن است جایگزین کنید و در آینده به استفاده از پیوندهای جهانی ادامه دهید.
تکمیل این مرحله بسته به مکان و نحوه انتشار پیوندهای دینامیک Firebase خود متفاوت است.
برای کمک به شما برای ردیابی پیوندهای دینامیک Firebase موجود برای انتقال، راهنمای نحوه صادر کردن متا پیوند کوتاه خود را از Firebase Dynamic Links منتشر خواهیم کرد. لطفاً برای بهروزرسانیهای بیشتر، سند سؤالات متداول مربوط به لغو پیوندهای پویا را بررسی کنید.
،این راهنمای مهاجرت بر روی استفاده از پیوندهای برنامه و پیوندهای جهانی تمرکز دارد و به صورت اختیاری از میزبانی Firebase برای میزبانی فایلهای مرتبط با سایت برنامه شما استفاده میکند.
این انتقال جایگزین ویژگی های Firebase Dynamic Links زیر می شود:
ویژگی | لینک های دینامیک Firebase | پیوندهای برنامه / پیوندهای جهانی |
---|---|---|
کاربران را با یک کلیک لینک به فروشگاه صحیح دستگاه خود هدایت کنید | ★ | |
پس از دانلود و نصب برنامه خود با استفاده از یک پیوند عمیق معوق، ادامه سفر را به کاربران ارائه دهید | ★ | |
با استفاده از محتوای پیوند عمیق در برنامه خود (در صورت نصب از قبل) تجربه متنی را به کاربران ارائه دهید. | ||
داده های تحلیلی مربوط به رویدادهای کلیک پیوند پویا را ارائه دهید | ||
امکان ایجاد URL های لینک کوتاه را فراهم کنید |
اگر همچنان به سایر ویژگیهای Firebase Dynamic Link برای مهاجرت خود نیاز دارید که در این راهنما پشتیبانی نمیشوند، سایر سناریوهای انتقال را در مستندات سؤالات متداول لغو پیوندهای دینامیک مشاهده کنید.
فرض کنید یک لینک دینامیک Firebase دارید که به شکل زیر است:
مثال پیوند پویا | |
---|---|
نام پیوند | به Example.com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
اپلیکیشن اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
هدف این راهنمای مهاجرت جایگزینی پیوندهای دینامیک Firebase مانند این است:
https://example.page.link/m9Mm
با پیوندهای عمیق برنامه / پیوند جهانی که به شکل زیر هستند:
https:// your-project-domain .web.app/welcome
توجه داشته باشید که پیوند عمیق برنامه / پیوند جهانی موارد زیر را در اختیار کاربران شما قرار می دهد:
- پیوند عمیقی که آنها می توانند روی آن کلیک کنند و پس از نصب برنامه شما را باز می کند
- ادامهی سفر کاربر آنها که هنگام باز شدن، آنها را به بخش خاصی از برنامه شما هدایت میکند
با این حال، پیوند عمیق برنامه / پیوند جهانی رفتارهای زیر را برای کاربران شما ارائه نمی دهد (که قبلاً Firebase Dynamic Links انجام می داد):
- پیمایش کاربران به فروشگاه صحیح دستگاهشان برای دانلود و نصب برنامه شما
- ارائه ادامه سفر کاربر پس از دانلود، نصب و باز کردن برنامه برای اولین بار
به تفاوت های رفتار و عملکرد این پیوندهای برنامه / پیوندهای جهانی در مقایسه با پیوندهای دینامیک Firebase که در جدول بالا ذکر شده است توجه کنید.
قبل از شروع
Firebase Dynamic Links از پیوندهای برنامه (در اندروید) و پیوندهای جهانی (در iOS) در پیاده سازی زیربنایی خود استفاده می کند تا پس از نصب برنامه شما، عملکرد پیوند عمیق را ارائه دهد.
این راهنما نحوه ایجاد پیوندهای برنامه و پیوندهای جهانی خود را با استفاده از میزبانی Firebase برای جایگزینی بخشی از عملکرد ارائه شده توسط Firebase Dynamic Links در حین انتقال پیوندهای دینامیک Firebase به راه حل جدید App Links / Universal Links توضیح می دهد.
برای تکمیل مهاجرت خود به اطلاعات زیر نیاز دارید:
- پیوندهای دینامیک Firebase که قصد مهاجرت آنها را دارید
- پارامترهای URL پیوند عمیق موجود در پیوندهای پویا شما
- دامنه ای که قصد دارید برای جایگزینی دامنه Firebase Dynamic Links قبلی خود استفاده کنید (در صورت وجود)
میتوانید از راهنمای Export Dynamic Links Metadata برای صادر کردن ابرداده پیوند موجود خود استفاده کنید و اطلاعات ذکر شده در بالا را به دست آورید.
نمای کلی مراحل مهاجرت
یک دامنه جدید (اگر قبلاً ندارید که می خواهید از آن استفاده کنید) برای میزبانی فایل های پیکربندی App Link / Universal Link خود با استفاده از میزبانی Firebase فراهم کنید.
فایل های پیکربندی App Link / Universal Link خود را در دامنه میزبانی خود ایجاد و میزبانی کنید.
پیوندهای برنامه جدید / پیوندهای جهانی مطابق با طرح پیوند عمیق مورد استفاده در پیوندهای دینامیک Firebase خود ایجاد کنید.
برای دریافت لینک های عمیق، برنامه های Android/iOS و کد برنامه خود را به روز کنید.
آزمایش ادغام پیوندهای برنامه / پیوندهای جهانی.
پیوندهای دینامیک Firebase منتشر شده یا به اشتراک گذاشته شده خود را با پیوندهای برنامه و پیوندهای جهانی جایگزین کنید.
اولین مرحله برای هر دو پیوندهای برنامه یا جریان مهاجرت پیوند جهانی مشترک خواهد بود. باقیمانده بسته به پلتفرم متفاوت خواهد بود، بنابراین بسته به اینکه کدام پلتفرم را میخواهید ابتدا مهاجرت کنید، به بخش راهنمای زیر بروید.
یک دامنه جدید برای میزبانی فایل های پیکربندی App Link / Universal Link خود با استفاده از میزبانی Firebase فراهم کنید
دامنه را انتخاب کنید
اولین قدم انتخاب دامنه ای است که می خواهید برای پیوندهای برنامه / پیوندهای جهانی خود استفاده کنید. این دامنه ای است که برای پیوندهای جدیدی که با کاربران خود به اشتراک می گذارید استفاده می شود.
اگر از میزبانی Firebase استفاده می کنید، زیردامنه های پروژه با قالب your-project-domain .web.app
یا your-project-domain .firebaseapp.com
به طور خودکار و بدون هیچ هزینه ای ارائه می شوند. می توانید به صورت اختیاری از یک دامنه سفارشی با یا بدون میزبانی Firebase برای میزبانی فایل های پیکربندی App Link / Universal Link خود استفاده کنید.
میزبانی Firebase را راه اندازی کنید
در مرحله بعد، باید نمونه میزبانی Firebase خود را تنظیم و پیکربندی کنید .
تا زمانی که راهاندازی نمونه میزبانی Firebase خود را به پایان رساندید، دامنهای مشابه با your-project-domain .web.app
« خواهید داشت، یا اگر ترجیح میدهید یک دامنه سفارشی خواهید داشت.
مراحل مهاجرت برای پیوندهای برنامه اندروید
فایل های پیکربندی App Link خود را در دامنه میزبانی جدید خود ایجاد و میزبانی کنید
برای استفاده از App Links، باید یک فایل پیکربندی را میزبانی کنید که به ایجاد ارتباط ایمن بین دامنه مورد استفاده در پیوندها و برنامه شما کمک کند. برای پیوندهای برنامه، این فایل assetlinks.json
است.
مراحل ایجاد و میزبانی فایل assetlinks.json
فایل assetlinks.json
به ما امکان میدهد فهرستی از برنامههای مجاز ارائه کنیم که میتوانند محتویات دامنه وب را که برای پیوندهای برنامه خود استفاده میکنیم، مدیریت کنند. خود فایل assetlinks.json باید در ریشه دامنه وب تحت مسیر: /.well-known
میزبانی شود.
برای تکمیل این پیکربندی مراحل زیر را دنبال کنید:
پوشه
.well-known
را در زیر پوشه عمومی در پوشه ریشه Firebase Hosting خود ایجاد کنید.فایلی به نام
assetlinks.json
در زیر پوشه.well-known
ایجاد کنید.محتوای زیر را در فایل assetlinks.json خود کپی کنید و به معنی هر قسمت زیر توجه داشته باشید:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.android", "sha256_cert_fingerprints": ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"] } }]
-
namespace
- به نام برنامه ای که می خواهید ارائه دهید اشاره دارد -
package_name
- به applicationId اعلام شده در فایلbuild.gradle
برنامه اشاره دارد -
sha256_cert_fingerprints
- به اثر انگشت SHA256 از فایل keystore که برای امضای برنامه استفاده میکنید، اشاره دارد.
میتوانید از فایل debug.keystore استفاده شده توسط Android Studio برای ایجاد رکورد sha256_cert_fingerprints برای اهداف اشکالزدایی استفاده کنید. میتوانید فایل را در
/Users/<username>/.android/debug.keystore
در Mac و Linux وC:\Users\<username>\.android\debug.keystore
در Windows پیدا کنید.از این فروشگاه کلید، می توانید مقدار SHA256 را با استفاده از ابزار کلید واکشی کنید.
برای دستورالعمل های بیشتر در مورد تکمیل این مرحله به این بخش از اسناد App Links مراجعه کنید.
همچنین میتوانید از App Links Assistant در Android Studio برای تولید محتوای فایل assetlinks.json و پیکربندی برنامه خود برای مدیریت پیوندهای برنامه استفاده کنید.
-
فایل firebase.json خود را برای ایندکس کردن فایل برای میزبانی به روز کنید.
"headers": [ { "source": "/.well-known/assetlinks.json", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
اکنون که فایل assetlinks.json را در اختیار داریم،
firebase deploy
برای میزبانی تغییرات اجرا کنید.توجه داشته باشید که برای اجرای دستور deploy بالا باید Firebase CLI را نصب کنید.
firebase deploy --only hosting
فایل assetlinks.json را با رفتن به
https:// your-project-domain .web.app/.well-known/assetlinks.json
تأیید کنید.
پیوندهای برنامه جدید مطابق با طرح پیوند عمیق مورد استفاده در پیوندهای دینامیک Firebase خود ایجاد کنید
در این مرحله، پیوندهای عمیق را از پیوندهای دینامیک Firebase خود با استفاده از URLهای پیوند عمیق معمولی مطابق با دامنه جدیدی که برای پیوندهای برنامه خود ایجاد کرده اید، دوباره ایجاد می کنید.
برای مثال، فرض کنید پیوند دینامیک Firebase زیر را دارید:
مثال پیوند پویا | |
---|---|
نام پیوند | به Example.com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
اپلیکیشن اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
در این مورد، پارامتر پیوند عمیق - یعنی https://example.web.app/welcome را استخراج می کنید و اکنون از آن به عنوان پارامتر App Link برای برنامه خود استفاده می کنید.
میخواهید این فرآیند را برای هر پیوند دینامیک Firebase که میخواهید با استفاده از پیوندهای برنامه / پیوندهای جهانی به آن منتقل کنید، تکرار کنید و طرح پیوند عمیقی را که استفاده کردهاید تکرار کنید.
برای مثال، لطفاً مجموعه زیر از پیوندهای کوتاه Firebase Dynamic Links، پارامترهای پیوند عمیق و مقادیر پیوند عمیق منتقل شده را ببینید:
لینک کوتاه | پارامتر پیوند عمیق | پیوند عمیق مهاجرت کرد |
---|---|---|
yourapp.page.link/welcome | https://example.com/welcome | yourapp.web.app/welcome |
yourapp.page.link/c7sn | https://example.com/main/?p=23&t=1 | yourapp.web.app/main/?p=23&t=1 |
yourapp.page.link/social | https://example.com/friendinvite/?add=1 | yourapp.web.app/friendinvite/?add=1 |
در مرحله بعد، باید هر نمونه ای از پیوندهای دینامیک Firebase را که منتشر شده یا به اشتراک گذاشته شده است، با پیوندهای عمیق مهاجرت شده جدید جایگزین کنید تا کاربران به جای پیوندهای دینامیک Firebase قبلی روی آن پیوندهای برنامه کلیک کنند.
برای دریافت لینک های عمیق، برنامه اندروید و کد برنامه خود را به روز کنید
گام بعدی پس از انتخاب دامنه، انتخاب طرح پیوند عمیق و انتقال لینکهای دینامیک Firebase به پیوندهای برنامه، بهروزرسانی برنامه اندروید و کد برنامه برای دریافت پیوندهای عمیق جدید است.
توصیه میکنیم اسناد کامل App Links را در اینجا دنبال کنید یا راهنمای Android Studio را در مورد پیکربندی برنامه خود برای مدیریت پیوندهای عمیق دنبال کنید، اما مراحل اصلی عبارتند از:
- شناسایی فعالیت هایی که باید پیوندهای عمیق مربوطه را مدیریت کنند
- افزودن فیلتر هدف برای آن فعالیتها در فایل AndroidManifest.xml
- دریافت لینک عمیق در کد برنامه فعالیت های شما
فرض کنید میخواستید از MainActivity برای مدیریت برخی از پیوندهای عمیق خود استفاده کنید. برای انجام این کار، باید فیلتر Intent زیر را به MainActivity در فایل AndroidManifest.xml خود اضافه کنید:
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="example.web.app" android:scheme="http"
android:pathPrefix="/welcome" />
<data android:host="example.web.app" android:scheme="https"
android:pathPrefix="/welcome" />
</intent-filter>
</activity>
در این مرحله، شما مشخص میکنید که MainActivity مقصدی برای مدیریت پیوندهای عمیق از دامنه wxample.web.app است و شامل پیشوند مسیر خوشآمدگویی / است. توجه داشته باشید که باید ویژگی android:autoVerify="true" را نیز مشخص کنید، که به شما امکان می دهد برنامه خود را به عنوان کنترل کننده پیش فرض برای این نوع پیوند مشخص کنید.
در نهایت، باید کد را در MainActivity خود اضافه کنید تا داده های پیوند عمیق را بازیابی کنید و از آن برای ایجاد تجربه پیوند عمیق در برنامه خود استفاده کنید. این شبیه به منطقی است که ممکن است قبلاً در برنامه خود هنگام ادغام با Firebase Dynamic Links کدگذاری کرده باشید.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
val data: Uri? = intent?.data
val toast = Toast.makeText(this, data, duration)
toast.show()
}
تست لینک های اپلیکیشن
میتوانید پیوندهای برنامهای را که به تازگی ایجاد کردهاید، با اجرای برنامه خود بر روی یک دستگاه فیزیکی یا در شبیهساز Android آزمایش کنید.
شما باید با استفاده از دامنه پیکربندی شده برای App Links خود، یک پیوند قابل کلیک ایجاد کنید و سپس روی آن پیوند کلیک کنید تا مطمئن شوید که در برنامه شما باز می شود و شما را به فعالیت مورد نظر هدایت می کند.
همچنین میتوانید ادغام App Links خود را با استفاده از App Links Assistant در Android Studio آزمایش کنید، یا از دستور زیر برای URL Link App که پیکربندی کردهاید استفاده کنید تا مطمئن شوید که فعالیت منطبق را به درستی اجرا میکند:
adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>
پیوندهای دینامیک Firebase منتشر شده یا به اشتراک گذاشته شده خود را با پیوندهای برنامه جایگزین کنید
آخرین مرحله برای انتقال شما این است که پیوندهای دینامیک Firebase منتشر شده یا مشترک خود را با پیوندهای برنامه جایگزین کنید تا جایی که ممکن است، و ادامه استفاده از App Links را در آینده ادامه دهید.
تکمیل این مرحله بسته به اینکه لینک های پویا Firebase خود را منتشر کرده اید ، متفاوت خواهد بود ، اما برای کمک به شما در ردیابی کدام یک از آنها ، می توانید ابرداده پیوند پویا Firebase موجود خود را صادر کنید. راهنمای ابرداده پیوندهای پویا را ببینید.
مراحل مهاجرت برای پیوندهای جهانی در iOS
فایلهای پیکربندی پیوندهای جهانی خود را در دامنه میزبانی جدید خود ایجاد و میزبانی کنید
برای استفاده از پیوندهای جهانی ، شما باید یک فایل پیکربندی را میزبانی کنید که به ایجاد ارتباط ایمن بین دامنه مورد استفاده در پیوندهای و برنامه خود کمک کند. برای پیوندهای جهانی ، این پرونده apple-app-site-association
است (که به عنوان پرونده AASA نیز شناخته می شود).
مراحل ایجاد و میزبانی پرونده Apple-App-Site-Site
پرونده AASA به ما امکان می دهد لیستی از برنامه های مجاز را ارائه دهیم که بتوانند محتویات دامنه وب را که برای پیوندهای جهانی خود استفاده خواهیم کرد ، کنترل کنیم. پرونده AASA به خودی خود باید در ریشه دامنه وب در زیر مسیر میزبانی شود: /.ول شناخته شده است.
مراحل زیر را برای تکمیل این پیکربندی دنبال کنید:
پوشه " .well-شناخته شده " را در زیر پوشه عمومی در دایرکتوری ریشه میزبان Firebase خود ایجاد کنید.
پرونده ای به نام " Apple-App-Site-Site-Site-Site " را در زیر پوشه ".well شناخته شده" ایجاد کنید.
محتوای زیر را در پرونده مربوط به Apple-App-Site-Site خود کپی کنید ، با توجه به معنی هر قسمت زیر:
{ "applinks": { "apps": [], "details": [ { "appId": "$TEAM_ID.com.firebase.UniversalLinks", "paths": [ "NOT /_/*", "/*" ] } ] } }
- $ team_id.bundleid - نام برنامه کاملاً واجد شرایط مجاز به رسیدگی به لینک ها
پرونده firebase.json خود را به روز کنید تا پرونده میزبانی را فهرست کنید.
"headers": [ { "source": "/.well-known/apple-app-site-association", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
اکنون که پرونده AASA را در اختیار داریم ، Firebase را برای میزبانی از تغییرات مستقر کنید.
پرونده AASA را با مراجعه به https: // your-project-domain .web.app/.well- شناخته شده/app-app-site-site-pocociation تأیید کنید
پیوندهای جهانی جدید را با طرح های عمیق با لینک استفاده شده در پیوندهای پویا Firebase خود ایجاد کنید
در این مرحله ، شما با استفاده از URL های معمولی پیوند عمیق متناسب با دامنه جدیدی که برای پیوندهای جهانی خود ایجاد کرده اید ، پیوندهای عمیق را از پیوندهای پویا Firebase خود بازآفرینی خواهید کرد.
به عنوان مثال ، بیایید بگوییم که پیوند پویا Firebase زیر را دارید:
مثال پیوند پویا | |
---|---|
نام پیوند | به مثال. com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
برنامه اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
در این حالت ، پارامتر لینک عمیق را استخراج می کنید - iehttps: //example.web.app/welcome و اکنون از این به عنوان پارامتر پیوند جهانی برای برنامه خود استفاده خواهید کرد.
شما می خواهید این فرآیند را برای هر پیوند پویا Firebase که می خواهید به استفاده از پیوندهای برنامه / پیوندهای جهانی مهاجرت کنید ، تکرار کنید و طرحواره ای عمیق را که استفاده کرده اید تکرار کنید.
به عنوان مثال ، لطفاً مجموعه زیر از پیوندهای دینامیکی Firebase را ببینید ، پیوندهای کوتاه ، پارامترهای پیوند عمیق و مقادیر پیوند عمیق مهاجرت شده:
لینک کوتاه | پارامتر پیوند عمیق | پیوند عمیق مهاجرت کرد |
---|---|---|
your app.page.link/welcome | https://example.com/welcome | your app.web.app/welcome |
your app.page.link/c7sn | https://example.com/main/؟p=23&t=1 | yourapp.web.app/main/؟p=23&t=1 |
your app.page.link/social | https://example.com/friendinvite/؟add=1 | yourapp.web.app/friendinvite/؟add=1 |
در مرحله بعد ، شما باید هر نمونه از پیوندهای پویا Firebase را که منتشر شده یا به اشتراک گذاشته شده یا با پیوندهای جدید مهاجرت شده ، جایگزین کنید تا کاربران به جای پیوندهای پویا قبلی Firebase روی آن پیوندهای جهانی کلیک کنند.
برنامه iOS و کد برنامه خود را برای دریافت پیوندهای عمیق به روز کنید
مرحله بعدی پس از انتخاب دامنه ، انتخاب یک طرحواره عمیق و مهاجرت پیوندهای پویا Firebase خود به پیوندهای جهانی ، به روزرسانی برنامه iOS و کد برنامه خود برای دریافت پیوندهای عمیق جدید است.
توصیه می کنیم مستندات کامل پیوندهای جهانی را در اینجا در پیکربندی برنامه خود برای کنترل پیوندهای عمیق دنبال کنید ، اما مراحل اصلی عبارتند از:
پیکربندی پروژه خود را به روز کنید تا برنامه خود بتواند پیوندهای عمیق از دامنه تازه ایجاد شده خود را کنترل کند
پیوند عمیق را در کد برنامه خود دریافت کنید
برای به روزرسانی پیکربندی پروژه خود برای فعال کردن برنامه خود برای رسیدگی به پیوندهای عمیق ، باید یک دامنه مرتبط اضافی را به پروژه خود در Xcode برای دامنه ای که اکنون می خواهید برای میزبانی فایل مرتبط با سایت اپل-برنامه خود استفاده کنید ، اضافه کنید.
این می تواند توسط:
- افتتاح Xcode
- انتخاب پروژه خود در File Navigator
- پیمایش به برگه امضای و قابلیت تنظیمات پروژه خود
- به بخش دامنه های مرتبط بروید
- با کلیک بر روی دکمه + برای اضافه کردن دامنه اضافی به پروژه خود در قالب "برنامه ها:
".
در آخر ، شما باید کد برنامه خود را به روز کنید تا بتوانید پیوندهای عمیق دریافتی را دریافت کنید.
برای انجام این کار ، ابتدا پرونده AppDelegate.swift را به روز کنید تا با افزودن کد زیر به یک پیوند جهانی پاسخ دهید:
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
AppDelegate.showReceivedUrl(userActivity: userActivity);
return true
}
static func showReceivedUrl(userActivity: NSUserActivity) {
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
let url = userActivity.webpageURL!
print(url.absoluteString)
}
کد فوق از روش پاسخگویی به لینک لینک جهانی غلبه می کند و در صورت وجود آدرس URL LIKE LING را ثبت می کند.
اکنون ما با همان روش showReceivedUrl
از کلاس Scenedelegate نیز تماس خواهیم گرفت زیرا اگر برنامه با کلیک کاربر بر روی پیوند جهانی باز شده باشد ، برنامه پاسخگویی به لینک Universal Link Inside SceneDelegate
یکی از مواردی خواهد بود که فراخوانی می شود.
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
AppDelegate.showReceivedUrl(userActivity: userActivity)
}
آزمایش پیوندهای جهانی
شما می توانید پیوندهای جهانی را که اخیراً با اجرای برنامه خود بر روی یک دستگاه فیزیکی یا شبیه ساز ایجاد کرده اید ، آزمایش کنید.
شما باید با استفاده از دامنه پیکربندی شده برای پیوندهای جهانی خود ، یک لینک قابل کلیک ایجاد کنید و سپس بر روی آن لینک کلیک کنید تا اطمینان حاصل شود که در برنامه شما باز می شود و شما را به صفحه مورد نظر در برنامه خود منتقل می کند.
حمایت از آگهی های برنامه هوشمند
ما اکیداً توصیه می کنیم از آگهی های برنامه هوشمند به عنوان راهی برای ارائه تجربه مشابهی با پیوندهای پویا Firebase استفاده کنید.
اگر برنامه شما از قبل روی دستگاه آنها نصب نشده باشد ، کاربران شما برای لیست برنامه شما به فروشگاه برنامه منتقل می شوند. همچنین می توانید به صورت اختیاری یک پارامتر را پیکربندی کنید تا پس از بارگیری و نصب به برنامه خود منتقل شود تا ادامه سفر خود را به کاربران خود ارائه دهد. اگر برنامه شما از قبل نصب شده باشد ، عبور از پارامتر به برنامه شما باز می شود تا به کاربر خود در محتوای مناسب بر اساس بنر برنامه هوشمند که کلیک کرده اند ، کمک کند.
پیوندهای پویا منتشر شده یا Firebase خود را با پیوندهای برنامه جایگزین کنید
مرحله آخر برای مهاجرت شما جایگزینی پیوندهای پویا منتشر شده یا مشترک Firebase شما با پیوندهای جهانی در هر کجا که ممکن باشد ، و ادامه استفاده از پیوندهای جهانی به جلو خواهد بود.
تکمیل این مرحله بسته به اینکه لینک های پویا Firebase خود را منتشر کرده اید ، متفاوت خواهد بود.
برای کمک به شما در ردیابی پیوندهای پویا موجود در Firebase موجود ، ما می توانیم راهنمایی در مورد نحوه صادرات داده های متا با اتصال کوتاه خود را از پیوندهای پویا Firebase منتشر کنیم. لطفاً برای به روزرسانی های بیشتر ، در مورد لینک های پویا استهلاک متداول متداول را بررسی کنید.
،این راهنمای مهاجرت بر استفاده از پیوندهای برنامه و پیوندهای جهانی ، به صورت اختیاری با استفاده از میزبانی Firebase برای میزبانی پرونده های انجمن برنامه برنامه شما متمرکز شده است.
این مهاجرت جایگزین ویژگی های پیوندهای پویا Firebase زیر می شود:
ویژگی | لینک های دینامیک Firebase | پیوندهای برنامه / پیوندهای جهانی |
---|---|---|
کاربران را از طریق یک لینک کلیک کنید تا دستگاه خود را به فروشگاه صحیح برای دستگاه خود بپردازید | ★ | |
پس از بارگیری و نصب برنامه خود با استفاده از یک لینک عمیق معوق ، ادامه سفر را برای کاربران فراهم کنید | ★ | |
با استفاده از محتوای عمیق مرتبط در برنامه خود ، یک تجربه متنی را در اختیار کاربران قرار دهید (در صورت نصب) | ||
داده های تحلیلی مربوط به پیوند پویا را کلیک کنید | ||
امکان ایجاد URL های لینک کوتاه را فراهم کنید |
اگر همچنان به سایر ویژگی های پیوند دینامیکی Firebase برای مهاجرت خود که در این راهنما پشتیبانی نمی شوند ، نیاز دارید ، سایر سناریوهای مهاجرت را در مستندات متداول استهلاک پیوندهای پویا مشاهده کنید.
فرض کنید شما یک پیوند پویا Firebase دارید که به نظر می رسد:
مثال پیوند پویا | |
---|---|
نام پیوند | به مثال. com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
برنامه اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
هدف از این راهنمای مهاجرت جایگزینی پیوندهای پویا Firebase مانند این است:
https://example.page.link/m9Mm
با پیوند برنامه / پیوندهای عمیق پیوند جهانی که به نظر می رسد:
https:// your-project-domain .web.app/welcome
توجه داشته باشید که پیوند برنامه / پیوند عمیق پیوند جهانی موارد زیر را در اختیار کاربران شما قرار می دهد:
- یک پیوند عمیق آنها می توانند کلیک کنند که برنامه شما را هنگام نصب باز می کند
- ادامه سفر کاربر آنها هنگام باز شدن آنها را به قسمت خاصی از برنامه خود منتقل می کند
با این حال ، پیوند برنامه / پیوند عمیق پیوند جهانی رفتارهای زیر را برای کاربران شما ارائه نمی دهد (که پیوندهای پویا Firebase قبلاً انجام داده اند):
- حرکت کاربران به فروشگاه صحیح برای بارگیری و نصب برنامه شما
- ارائه ادامه سفر کاربر خود پس از بارگیری ، نصب و باز کردن برنامه برای اولین بار
توجه داشته باشید که تفاوت در رفتار و عملکرد این پیوندهای برنامه / پیوندهای جهانی در مقایسه با پیوندهای پویا Firebase که در جدول فوق وجود دارد.
قبل از شروع
پیوندهای دینامیکی Firebase از لینک های برنامه (در Android) و پیوندهای جهانی (در iOS) در اجرای اصلی خود به منظور ارائه قابلیت های عمیق پس از نصب برنامه شما استفاده می کند.
این راهنما نحوه ایجاد پیوندهای برنامه و پیوندهای جهانی خود را با استفاده از میزبانی Firebase برای جایگزینی آن بخشی از عملکردهای ارائه شده توسط پیوندهای پویا Firebase در هنگام مهاجرت پیوندهای پویا Firebase خود به برنامه جدید Links Links / Longly Links Links راه حل مهاجرت می کند.
برای تکمیل مهاجرت خود به اطلاعات زیر نیاز دارید:
- پیوندهای پویا Firebase که قصد مهاجرت دارید
- پارامترهای URL با پیوند عمیق موجود در پیوندهای پویا شما
- دامنه ای که قصد دارید برای جایگزینی دامنه پیوندهای پویا Firebase قبلی خود استفاده کنید (در صورت وجود)
برای صادر کردن ابرداده لینک موجود خود می توانید از راهنمای ابرداده Links Links Export استفاده کنید و اطلاعات ذکر شده در بالا را بدست آورید.
بررسی اجمالی مراحل مهاجرت
یک دامنه جدید (اگر شما از قبل استفاده نمی کنید) را برای میزبانی فایلهای پیکربندی پیوند برنامه / لینک جهانی خود با استفاده از میزبانی Firebase تهیه کنید.
فایلهای پیکربندی پیوند برنامه / لینک جهانی خود را در دامنه میزبانی خود ایجاد و میزبانی کنید.
پیوندهای جدید برنامه / پیوندهای جهانی را مطابق با طرحواره عمیق با استفاده از لینک های پویا Firebase خود ایجاد کنید.
برنامه های Android / iOS و کد برنامه خود را برای دریافت پیوندهای عمیق به روز کنید.
تست پیوندهای برنامه / ادغام پیوندهای جهانی.
پیوندهای پویا منتشر شده یا مشترک Firebase خود را با پیوندهای برنامه و پیوندهای جهانی جایگزین کنید.
مرحله اول برای هر دو پیوند برنامه یا جریان مهاجرت پیوند جهانی معمول خواهد بود. باقیمانده بسته به سکو متفاوت خواهد بود ، بنابراین بسته به اینکه کدام سکوی را که می خواهید در ابتدا مهاجرت کنید ، به بخش راهنمای زیر بروید.
یک دامنه جدید برای میزبانی برنامه های پیکربندی پیوند برنامه / لینک جهانی با استفاده از میزبانی Firebase تهیه کنید
دامنه را انتخاب کنید
اولین قدم انتخاب دامنه ای است که می خواهید برای لینک های برنامه / پیوندهای جهانی خود استفاده کنید. این دامنه ای خواهد بود که برای پیوندهای جدیدی که برای کاربران خود به اشتراک می گذارید استفاده می شود.
اگر از میزبانی Firebase استفاده می کنید ، زیر دامنه های پروژه را با فرمی که your-project-domain .web.app
یا- your-project-domain .firebaseapp.com
به طور خودکار بدون هیچ هزینه ای تهیه می شود. شما می توانید به صورت اختیاری از یک دامنه سفارشی با میزبانی یا بدون میزبان Firebase برای میزبانی فایلهای پیکربندی لینک برنامه / لینک جهانی خود نیز استفاده کنید.
میزبانی Firebase را تنظیم کنید
در مرحله بعد ، شما باید نمونه میزبانی Firebase خود را تنظیم و پیکربندی کنید .
تا زمانی که به عنوان نمونه میزبانی Firebase خود را تنظیم کردید ، یک دامنه مشابه با your-project-domain .web.app
`یا یک دامنه سفارشی در صورت تمایل.
مراحل مهاجرت برای پیوندهای برنامه Android
پرونده های پیکربندی پیوند برنامه خود را در دامنه میزبان جدید خود ایجاد و میزبانی کنید
برای استفاده از لینک های برنامه ، شما باید یک فایل پیکربندی را برگزار کنید که به ایجاد یک ارتباط ایمن بین دامنه مورد استفاده در لینک ها و برنامه خود کمک می کند. برای پیوندهای برنامه ، این پرونده assetlinks.json
است.
مراحل ایجاد و میزبانی پرونده Assetlinks.json
پرونده assetlinks.json
به ما امکان می دهد لیستی از برنامه های مجاز را ارائه دهیم که بتوانند محتویات دامنه وب را که برای لینک های برنامه خود استفاده خواهیم کرد ، کنترل کنیم. پرونده Assetlinks.json به خودی خود باید در ریشه دامنه وب در زیر مسیر میزبانی شود: /.well-known
شناخته شده است.
مراحل زیر را برای تکمیل این پیکربندی دنبال کنید:
پوشه
.well-known
را در زیر پوشه عمومی در دایرکتوری ریشه میزبان Firebase خود ایجاد کنید.پرونده ای به نام
assetlinks.json
را در زیر پوشه.well-known
ایجاد کنید.محتوای زیر را در پرونده Artsetlinks.json خود کپی کنید ، با توجه به معنی هر قسمت زیر:
[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.android", "sha256_cert_fingerprints": ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"] } }]
-
namespace
- به نام برنامه ای که می خواهید ارائه دهید اشاره دارد -
package_name
- به ApplicationID اعلام شده در پروندهbuild.gradle
برنامه اشاره دارد -
sha256_cert_fingerprints
- به اثر انگشت Sha256 از پرونده keystore که برای امضای برنامه استفاده می کنید اشاره دارد.
می توانید از پرونده debug.keystore استفاده شده توسط Android Studio برای تولید یک رکورد SHA256_CERT_FINGERPRINTS برای اهداف اشکال زدایی استفاده کنید. می توانید پرونده را در
/Users/<username>/.android/debug.keystore
<username>/.android/debug.keystore در Mac و Linux وC:\Users\<username>\.android\debug.keystore
در ویندوز پیدا کنید.از این کلیدینگ می توانید با استفاده از KeyTool مقدار SHA256 را واکشی کنید.
برای دستورالعمل های بیشتر در مورد تکمیل این مرحله به این بخش از مستندات پیوندهای برنامه مراجعه کنید.
از طرف دیگر همچنین می توانید از App Links Assistant در Android Studio برای تولید محتویات پرونده Assetlinks.json استفاده کرده و برنامه خود را برای کنترل پیوندهای برنامه پیکربندی کنید.
-
پرونده firebase.json خود را به روز کنید تا پرونده میزبانی را فهرست کنید.
"headers": [ { "source": "/.well-known/assetlinks.json", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
اکنون که ما پرونده Assetlinks.json را در اختیار داریم ،
firebase deploy
برای میزبانی از تغییرات اجرا کنید.توجه داشته باشید که برای اجرای دستور استقرار فوق باید CLI Firebase را نصب کنید.
firebase deploy --only hosting
با مراجعه به
https:// your-project-domain .web.app/.well-known/assetlinks.json
پرونده assetlinks.json را تأیید کنید.
پیوندهای برنامه جدیدی ایجاد کنید که مطابق با طرح های پیوند عمیق مورد استفاده در پیوندهای پویا Firebase شما باشد
در این مرحله ، با استفاده از URL های معمولی پیوند عمیق متناسب با دامنه جدیدی که برای پیوندهای برنامه خود ایجاد کرده اید ، پیوندهای عمیق را از پیوندهای پویا Firebase خود بازآفرینی خواهید کرد.
به عنوان مثال ، بیایید بگوییم که پیوند پویا Firebase زیر را دارید:
مثال پیوند پویا | |
---|---|
نام پیوند | به مثال. com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
برنامه اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
در این حالت ، شما می توانید پارامتر لینک عمیق - یعنی https://example.web.app/welcome را استخراج کنید و اکنون از این به عنوان پارامتر پیوند برنامه برای برنامه خود استفاده خواهید کرد.
شما می خواهید این فرآیند را برای هر پیوند پویا Firebase که می خواهید به استفاده از پیوندهای برنامه / پیوندهای جهانی مهاجرت کنید ، تکرار کنید و طرحواره ای عمیق را که استفاده کرده اید تکرار کنید.
به عنوان مثال ، لطفاً مجموعه زیر از پیوندهای دینامیکی Firebase را ببینید ، پیوندهای کوتاه ، پارامترهای پیوند عمیق و مقادیر پیوند عمیق مهاجرت شده:
لینک کوتاه | پارامتر پیوند عمیق | پیوند عمیق مهاجرت کرد |
---|---|---|
your app.page.link/welcome | https://example.com/welcome | your app.web.app/welcome |
your app.page.link/c7sn | https://example.com/main/؟p=23&t=1 | yourapp.web.app/main/؟p=23&t=1 |
your app.page.link/social | https://example.com/friendinvite/؟add=1 | yourapp.web.app/friendinvite/؟add=1 |
در مرحله بعد ، شما باید هر نمونه از پیوندهای پویا Firebase را که منتشر شده یا به اشتراک گذاشته شده یا با پیوندهای جدید مهاجرت شده ، جایگزین کنید تا کاربران به جای پیوندهای پویا قبلی Firebase روی آن پیوندهای برنامه کلیک کنند.
برنامه Android و کد برنامه خود را برای دریافت پیوندهای عمیق به روز کنید
مرحله بعدی پس از انتخاب دامنه ، انتخاب یک طرحواره عمیق و مهاجرت پیوندهای پویا Firebase خود به پیوندهای برنامه ، به روزرسانی برنامه Android و کد برنامه خود برای دریافت پیوندهای عمیق جدید است.
توصیه می کنیم مستندات پیوندهای کامل برنامه را در اینجا دنبال کنید یا در عوض راهنمای استودیوی Android در پیکربندی برنامه خود برای کنترل پیوندهای عمیق ، اما مراحل اصلی عبارتند از:
- مشخص کردن اینکه کدام فعالیت ها باید پیوندهای عمیق مربوطه را اداره کنند
- اضافه کردن یک فیلتر قصد برای آن فعالیت ها در پرونده androidmanifest.xml
- دریافت پیوند عمیق در کد برنامه فعالیتهای خود
بیایید بگوییم که شما می خواهید از MainActivity خود برای کنترل برخی از پیوندهای عمیق خود استفاده کنید. برای انجام این کار ، شما باید فیلتر هدف زیر را به MainActivity در پرونده androidmanifest.xml خود اضافه کنید:
<activity android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="example.web.app" android:scheme="http"
android:pathPrefix="/welcome" />
<data android:host="example.web.app" android:scheme="https"
android:pathPrefix="/welcome" />
</intent-filter>
</activity>
در این مرحله ، شما مشخص می کنید که MainActivity مقصد برای دستیابی به پیوندهای عمیق از دامنه wxample.web.app است و این شامل پیشوند مسیر /استقبال است. توجه داشته باشید که شما همچنین باید ویژگی Android: Autoverify = "True" را مشخص کنید ، که به شما امکان می دهد برنامه خود را به عنوان کنترل کننده پیش فرض برای این نوع پیوند مشخص کنید.
در آخر ، برای بازیابی داده های پیوند عمیق ، باید کد را در MainActivity خود اضافه کنید و از آن برای هدایت تجربه لینک عمیق در برنامه خود استفاده کنید. این شبیه به منطق است که شما ممکن است قبلاً در برنامه خود کدگذاری کرده اید وقتی با پیوندهای پویا Firebase ادغام شده اید.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main)
val data: Uri? = intent?.data
val toast = Toast.makeText(this, data, duration)
toast.show()
}
پیوندهای برنامه تست
شما می توانید پیوندهای برنامه ای را که اخیراً ایجاد کرده اید با اجرای برنامه خود بر روی یک دستگاه فیزیکی یا در شبیه ساز Android آزمایش کنید.
شما باید با استفاده از دامنه پیکربندی شده برای لینک های برنامه خود ، یک لینک قابل کلیک ایجاد کنید و سپس بر روی آن لینک کلیک کنید تا اطمینان حاصل شود که در برنامه شما باز می شود و شما را به فعالیت مورد نظر منتقل می کند.
از طرف دیگر همچنین می توانید ادغام پیوندهای برنامه خود را با استفاده از دستیار پیوندهای برنامه در Android Studio آزمایش کنید ، یا از دستور زیر برای URL پیوند برنامه ای که پیکربندی کرده اید استفاده کنید تا اطمینان حاصل شود که فعالیت تطبیق را به درستی راه اندازی می کند:
adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>
پیوندهای پویا منتشر شده یا Firebase خود را با پیوندهای برنامه جایگزین کنید
مرحله آخر برای مهاجرت شما جایگزینی پیوندهای پویا منتشر شده یا مشترک Firebase شما با پیوندهای برنامه در هر کجا ممکن است ، و ادامه استفاده از پیوندهای برنامه به جلو است.
تکمیل این مرحله بسته به اینکه لینک های پویا Firebase خود را منتشر کرده اید ، متفاوت خواهد بود ، اما برای کمک به شما در ردیابی کدام یک از آنها ، می توانید ابرداده پیوند پویا Firebase موجود خود را صادر کنید. راهنمای ابرداده پیوندهای پویا را ببینید.
مراحل مهاجرت برای پیوندهای جهانی در iOS
فایلهای پیکربندی پیوندهای جهانی خود را در دامنه میزبانی جدید خود ایجاد و میزبانی کنید
برای استفاده از پیوندهای جهانی ، شما باید یک فایل پیکربندی را میزبانی کنید که به ایجاد ارتباط ایمن بین دامنه مورد استفاده در پیوندهای و برنامه خود کمک کند. برای پیوندهای جهانی ، این پرونده apple-app-site-association
است (که به عنوان پرونده AASA نیز شناخته می شود).
مراحل ایجاد و میزبانی پرونده Apple-App-Site-Site
پرونده AASA به ما امکان می دهد لیستی از برنامه های مجاز را ارائه دهیم که بتوانند محتویات دامنه وب را که برای پیوندهای جهانی خود استفاده خواهیم کرد ، کنترل کنیم. پرونده AASA به خودی خود باید در ریشه دامنه وب در زیر مسیر میزبانی شود: /.ول شناخته شده است.
مراحل زیر را برای تکمیل این پیکربندی دنبال کنید:
پوشه " .well-شناخته شده " را در زیر پوشه عمومی در دایرکتوری ریشه میزبان Firebase خود ایجاد کنید.
پرونده ای به نام " Apple-App-Site-Site-Site-Site " را در زیر پوشه ".well شناخته شده" ایجاد کنید.
محتوای زیر را در پرونده مربوط به Apple-App-Site-Site خود کپی کنید ، با توجه به معنی هر قسمت زیر:
{ "applinks": { "apps": [], "details": [ { "appId": "$TEAM_ID.com.firebase.UniversalLinks", "paths": [ "NOT /_/*", "/*" ] } ] } }
- $ team_id.bundleid - نام برنامه کاملاً واجد شرایط مجاز به رسیدگی به لینک ها
پرونده firebase.json خود را به روز کنید تا پرونده میزبانی را فهرست کنید.
"headers": [ { "source": "/.well-known/apple-app-site-association", "headers": [ { "key": "Content-Type", "value": "application/json" } ] } ]
اکنون که پرونده AASA را در اختیار داریم ، Firebase را برای میزبانی از تغییرات مستقر کنید.
پرونده AASA را با مراجعه به https: // your-project-domain .web.app/.well- شناخته شده/app-app-site-site-pocociation تأیید کنید
پیوندهای جهانی جدید را با طرح های عمیق با لینک استفاده شده در پیوندهای پویا Firebase خود ایجاد کنید
در این مرحله ، شما با استفاده از URL های معمولی پیوند عمیق متناسب با دامنه جدیدی که برای پیوندهای جهانی خود ایجاد کرده اید ، پیوندهای عمیق را از پیوندهای پویا Firebase خود بازآفرینی خواهید کرد.
به عنوان مثال ، بیایید بگوییم که پیوند پویا Firebase زیر را دارید:
مثال پیوند پویا | |
---|---|
نام پیوند | به مثال. com خوش آمدید |
پیوند عمیق | https://example.web.app/welcome |
برنامه اندروید | com.example.android |
برنامه اپل | com.example.ios |
پیوند پویا طولانی | https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos |
پیوند پویا کوتاه | https://example.page.link/m9Mm |
در این حالت ، پارامتر لینک عمیق را استخراج می کنید - iehttps: //example.web.app/welcome و اکنون از این به عنوان پارامتر پیوند جهانی برای برنامه خود استفاده خواهید کرد.
شما می خواهید این فرآیند را برای هر پیوند پویا Firebase که می خواهید به استفاده از پیوندهای برنامه / پیوندهای جهانی مهاجرت کنید ، تکرار کنید و طرحواره ای عمیق را که استفاده کرده اید تکرار کنید.
به عنوان مثال ، لطفاً مجموعه زیر از پیوندهای دینامیکی Firebase را ببینید ، پیوندهای کوتاه ، پارامترهای پیوند عمیق و مقادیر پیوند عمیق مهاجرت شده:
لینک کوتاه | پارامتر پیوند عمیق | پیوند عمیق مهاجرت کرد |
---|---|---|
your app.page.link/welcome | https://example.com/welcome | your app.web.app/welcome |
your app.page.link/c7sn | https://example.com/main/؟p=23&t=1 | yourapp.web.app/main/؟p=23&t=1 |
your app.page.link/social | https://example.com/friendinvite/؟add=1 | yourapp.web.app/friendinvite/؟add=1 |
در مرحله بعد ، شما باید هر نمونه از پیوندهای پویا Firebase را که منتشر شده یا به اشتراک گذاشته شده یا با پیوندهای جدید مهاجرت شده ، جایگزین کنید تا کاربران به جای پیوندهای پویا قبلی Firebase روی آن پیوندهای جهانی کلیک کنند.
برنامه iOS و کد برنامه خود را برای دریافت پیوندهای عمیق به روز کنید
مرحله بعدی پس از انتخاب دامنه ، انتخاب یک طرحواره عمیق و مهاجرت پیوندهای پویا Firebase خود به پیوندهای جهانی ، به روزرسانی برنامه iOS و کد برنامه خود برای دریافت پیوندهای عمیق جدید است.
توصیه می کنیم مستندات کامل پیوندهای جهانی را در اینجا در پیکربندی برنامه خود برای کنترل پیوندهای عمیق دنبال کنید ، اما مراحل اصلی عبارتند از:
پیکربندی پروژه خود را به روز کنید تا برنامه خود بتواند پیوندهای عمیق از دامنه تازه ایجاد شده خود را کنترل کند
پیوند عمیق را در کد برنامه خود دریافت کنید
برای به روزرسانی پیکربندی پروژه خود برای فعال کردن برنامه خود برای رسیدگی به پیوندهای عمیق ، باید یک دامنه مرتبط اضافی را به پروژه خود در Xcode برای دامنه ای که اکنون برای استفاده از آن برای میزبانی فایل مرتبط با سایت اپل-برنامه خود استفاده می کنید ، اضافه کنید.
این می تواند توسط:
- افتتاح Xcode
- انتخاب پروژه خود در File Navigator
- پیمایش به برگه امضای و قابلیت تنظیمات پروژه خود
- به بخش دامنه های مرتبط بروید
- با کلیک بر روی دکمه + برای اضافه کردن دامنه اضافی به پروژه خود در قالب "برنامه ها:
".
در آخر ، شما باید کد برنامه خود را به روز کنید تا بتوانید پیوندهای عمیق دریافتی را دریافت کنید.
برای انجام این کار ، ابتدا پرونده AppDelegate.swift را به روز کنید تا با افزودن کد زیر به یک پیوند جهانی پاسخ دهید:
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
AppDelegate.showReceivedUrl(userActivity: userActivity);
return true
}
static func showReceivedUrl(userActivity: NSUserActivity) {
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
let url = userActivity.webpageURL!
print(url.absoluteString)
}
کد فوق از روش پاسخگویی به لینک لینک جهانی غلبه می کند و در صورت وجود آدرس URL LIKE LING را ثبت می کند.
اکنون ما با همان روش showReceivedUrl
از کلاس Scenedelegate نیز تماس خواهیم گرفت زیرا اگر برنامه با کلیک کاربر بر روی پیوند جهانی باز شده باشد ، برنامه پاسخگویی به لینک Universal Link Inside SceneDelegate
یکی از مواردی خواهد بود که فراخوانی می شود.
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
AppDelegate.showReceivedUrl(userActivity: userActivity)
}
آزمایش پیوندهای جهانی
شما می توانید پیوندهای جهانی را که اخیراً با اجرای برنامه خود بر روی یک دستگاه فیزیکی یا شبیه ساز ایجاد کرده اید ، آزمایش کنید.
شما باید با استفاده از دامنه پیکربندی شده برای پیوندهای جهانی خود ، یک لینک قابل کلیک ایجاد کنید و سپس بر روی آن لینک کلیک کنید تا اطمینان حاصل شود که در برنامه شما باز می شود و شما را به صفحه مورد نظر در برنامه خود منتقل می کند.
حمایت از آگهی های برنامه هوشمند
ما اکیداً توصیه می کنیم از آگهی های برنامه هوشمند به عنوان راهی برای ارائه تجربه مشابهی با پیوندهای پویا Firebase استفاده کنید.
اگر برنامه شما از قبل روی دستگاه آنها نصب نشده باشد ، کاربران شما برای لیست برنامه شما به فروشگاه برنامه منتقل می شوند. همچنین می توانید به صورت اختیاری یک پارامتر را پیکربندی کنید تا پس از بارگیری و نصب به برنامه خود منتقل شود تا ادامه سفر خود را به کاربران خود ارائه دهد. اگر برنامه شما از قبل نصب شده باشد ، عبور از پارامتر به برنامه شما باز می شود تا به کاربر خود در محتوای مناسب بر اساس بنر برنامه هوشمند که کلیک کرده اند ، کمک کند.
پیوندهای پویا منتشر شده یا Firebase خود را با پیوندهای برنامه جایگزین کنید
مرحله آخر برای مهاجرت شما جایگزینی پیوندهای پویا منتشر شده یا مشترک Firebase شما با پیوندهای جهانی در هر کجا که ممکن باشد ، و ادامه استفاده از پیوندهای جهانی به جلو خواهد بود.
تکمیل این مرحله بسته به اینکه لینک های پویا Firebase خود را منتشر کرده اید ، متفاوت خواهد بود.
برای کمک به شما در ردیابی پیوندهای پویا موجود در Firebase موجود ، ما راهنمایی در مورد نحوه صادرات داده های متا کوتاه مدت خود را از پیوندهای پویا Firebase منتشر خواهیم کرد. لطفاً برای به روزرسانی های بیشتر ، در مورد لینک های پویا استهلاک متداول متداول را بررسی کنید.