کاربران وب موبایل را به کاربران برنامه بومی تبدیل کنید

اگر علاوه بر یک اپلیکیشن بومی زیبا، برای ساختن یک وب‌سایت موبایل عالی به مشکل خورده باشید، اما متوجه شوید نرخ تبدیل شما در برنامه بومی بهتر از وب است. در این صورت، تبدیل کاربران وب موبایل به دانلود اپلیکیشن شما ممکن است به کسب و کار شما رونق بخشد. در حالی که انتقال آنها از یکی به دیگری می تواند چالش برانگیز باشد، Dynamic Links این کار را آسان می کند. با کد بسیار کمی می توانید این قابلیت را برای کاربر اضافه کنید که روی یک لینک در وب تلفن همراه شما کلیک کند و به صفحه مربوطه در برنامه شما منتقل شود، حتی اگر برای نصب ابتدا به اپ استور یا گوگل پلی استور برود!

مزایای کلیدی

  • کاربران وب تلفن همراه را به کاربران برنامه بومی تبدیل کنید و در عین حال انتقال را تا حد امکان برای آنها راحت کنید.
  • کاربران می توانند برنامه شما را با همان محتوایی که در سایت شما مشاهده می کردند شروع کنند.
  • ادغام بسیار کمی مورد نیاز است.

در اینجا نحوه شروع به کار آمده است!

قبل از اینکه شروع کنی

محتوای برنامه خود را قابل پیوند عمیق قرار دهید

کلید تبدیل کاربران وب موبایل به کاربران برنامه بومی این است که مطمئن شوید کاربر هنگام باز کردن برنامه ای که در وب می بیند، همان محتوایی را می بیند. بنابراین، قبل از اینکه بتوانید کاربران وب تلفن همراه خود را به برنامه خود ارسال کنید، برنامه شما باید بتواند لینک های عمیق به محتوا را دریافت کند.

اگر پیوندهای جهانی iOS یا پیوندهای برنامه اندروید را پیاده سازی کرده اید، احتمالاً قبلاً این کار را انجام داده اید. اما اگر نه، منطقی را به برنامه خود اضافه کنید که یک URL از وب سایت شما می گیرد و محتوای مربوطه را در برنامه شما به کاربر نمایش می دهد.

یک پروژه Firebase جدید راه اندازی کنید و Dynamic Links SDK را در برنامه خود نصب کنید. ( iOS ، Android ، C++ ، Unity ). نصب Dynamic Links SDK به Firebase اجازه می دهد تا پس از نصب برنامه توسط کاربر، داده های مربوط به Dynamic Link را ارسال کند. بدون SDK، هیچ راهی برای اتصال کاربر پس از نصب با یک کلیک از پیش نصب وجود ندارد.

اکنون زمان آن است که پیوندهایی را تنظیم کنید که افراد را از وب سایت شما به برنامه اصلی شما منتقل می کند. اگر کاربران شما هنوز برنامه را نصب نکرده اند نگران نباشید. لینک های پویا می توانند از آن برای شما مراقبت کنند.

در هر صفحه از وب سایت خود، به صورت پویا یک پیوند پویا ایجاد کنید . از آنجایی که قبلاً محتوای خود را قابل پیوند عمیق کرده اید، پارامتر link می تواند به سادگی آدرس صفحه ای باشد که در آن قرار دارد.

در اینجا چنین پیوندی ممکن است شبیه باشد:

<a href="https://example.page.link/?link=https://www.example.com/content?item%3D1234&apn=com.example.android&ibi=com.example.ios">Open this page in our app!</a>

هنگامی که کاربران این پیوند را در دستگاه خود باز می کنند، اگر برنامه مشخص شده توسط پارامتر apn (در اندروید) یا پارامتر ibi (در iOS) نصب نشده باشد، کاربران برای نصب برنامه به فروشگاه Play یا App Store منتقل می شوند. سپس برنامه باز می شود و URL مشخص شده در پارامتر link به آن ارسال می شود.

محتوای پیوند شده را در برنامه خود باز کنید

در مرحله بعد، باید پیوندی را که به برنامه شما ارسال شده است دریافت کنید و محتوای پیوند شده را باز کنید، که با استفاده از پیوندهای پویا SDK آسان است:

iOS

در iOS، با اجرای متد application:continueUserActivity:restorationHandler: پیوند پویا را دریافت می کنید. در کنترلر بازیابی، می توانید با فراخوانی handleUniversalLink:completion: پیوند پویا را دریافت کنید. اگر یک پیوند پویا به برنامه شما ارسال شده است، می توانید آن را از ویژگی url FIRDynamicLink کنید. مثلا:

هدف-C

توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، tvOS یا watchOS در دسترس نیست.
[[FIRDynamicLinks dynamicLinks]
    handleUniversalLink:userActivity.webpageURL
             completion:^(FIRDynamicLink * _Nullable dynamicLink,
                          NSError * _Nullable error) {
      NSString *link = dynamicLink.url;
    }];

سریع

توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، tvOS یا watchOS در دسترس نیست.
FIRDynamicLinks.dynamicLinks()?.handleUniversalLink(userActivity.webpageURL!) { (dynamiclink, error) in
    let link = dynamiclink.url
}

علاوه بر این، باید dynamicLinkFromCustomSchemeURL: را در روش application:openURL:options: برای دریافت پیوندهای پویا که به عنوان URL طرح سفارشی به برنامه شما ارسال می شود، فراخوانی کنید. مثلا:

هدف-C

توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، tvOS یا watchOS در دسترس نیست.
FIRDynamicLink *dynamicLink = [[FIRDynamicLinks dynamicLinks] dynamicLinkFromCustomSchemeURL:url];
if (dynamicLink) {
  NSString *link = dynamicLink.url;
  // ...
  return YES;
}

سریع

توجه: این محصول Firebase در اهداف macOS، Mac Catalyst، tvOS یا watchOS در دسترس نیست.
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLinkFromCustomSchemeURL(url)
if let dynamicLink = dynamicLink {
  let link = dynamiclink.url
  // ...
  return true
}

اکنون که مقدار پارامتر link را دریافت کرده اید، محتوای لینک شده را به کاربر خود نمایش دهید.

اندروید

در اندروید، از getDynamicLink() برای دریافت داده از Dynamic Link استفاده می کنید:

Java

FirebaseDynamicLinks.getInstance()
        .getDynamicLink(getIntent())
        .addOnCompleteListener(new OnCompleteListener<PendingDynamicLinkData>() {
            @Override
            public void onComplete(@NonNull Task<PendingDynamicLinkData> task) {
                if (!task.isSuccessful()) {
                    // Handle error
                    // ...
                }

                FirebaseAppInvite invite = FirebaseAppInvite.getInvitation(task.getResult());
                if (invite != null) {
                    // Handle invite
                    // ...
                }
            }
        });

Kotlin+KTX

Firebase.dynamicLinks
        .getDynamicLink(intent)
        .addOnCompleteListener { task ->
            if (!task.isSuccessful) {
                // Handle error
                // ...
            }

            val invite = FirebaseAppInvite.getInvitation(task.result)
            if (invite != null) {
                // Handle invite
                // ...
            }
        }

اکنون که مقدار پارامتر link را دریافت کرده اید، محتوای لینک شده را به کاربر خود نمایش دهید.