RBM temsilcinizden uygulamalara derin bağlantı oluşturma

Mobil uygulamalarda derin bağlantı, kullanıcıların doğrudan uygulama içindeki içeriğe gitmesine olanak tanır. Derin bağlantı olmadan bir perakende mağaza uygulamasında bulduğunuz bir gömleği arkadaşınızla paylaşırsanız ona gönderdiğiniz bir bağlantı, arkadaşınızı tarayıcısına veya uygulamayı yüklemesine ya da uygulamayı açıp Play Store'a yönlendirmesine neden olur. Her iki durum da mükemmel bir kullanıcı deneyimi değildir. Derin bağlantı sayesinde bağlantı, arkadaşınızı perakende uygulamasında bulduğunuz gömleğin aynısına götürür.

Bu makalede, RBM kullanıcılarınıza zengin ve ilgi çekici deneyimler oluşturmak için derin bağlantıları nasıl kullanabileceğinizi öğreneceksiniz.

Bir RBM kullanıcısını uygulamaya taşıma

Derin bağlantı, bir uygulamanın bağlantısıdır. RBM temsilciniz, bir kullanıcının telefonunda yüklü olan bir uygulamayı açmak için bir OpenUrlAction kullanabilir. Burada URL, çağırmak istediğiniz uygulama için yapılandırılmış bir derin bağlantıdır. Uygulama İçeriğine Derin Bağlantılar Oluşturma bölümünden daha fazla bilgi edinebilirsiniz.

Belirli bir örneği inceleyelim. Google Cloud podcast'ini Google Podcast uygulamasında açmak için URI ile bir OpenUrlAction oluşturulabilir:

https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL0dvb2dsZUNsb3VkUGxhdGZvcm1Qb2RjYXN0

YouTube ve Google Haritalar dahil olmak üzere birçok Google ürünü, web URL'si olarak da çalışan derin bağlantıları destekleyecek şekilde yapılandırılır.

Bu uygulamaların herhangi birini bir temsilciden tetiklemek için bu değeri bir OpenUrlAction'da URL olarak belirtmemiz gerekir. Aşağıdaki örnek JSON'da, her biri farklı bir uygulamaya derin bağlantı veren üç açık URL işlemi içeren bir RBM zengin kartı belirtilmiştir.

{
    "contentMessage":{
        "richCard":{
            "standaloneCard":{
                "cardOrientation":"VERTICAL",
                "cardContent":{
                    "title":"Did you know that you can open apps from an RBM agent?",
                    "description":"",
                    "suggestions":[
                        {
                            "action":{
                                "text":"Google Cloud Podcast",
                                "postbackData":"podcast_tap",
                                "openUrlAction":{
                                    "url":"https://www.google.com/podcasts?feed=aHR0cDovL2ZlZWRzLmZlZWRidXJuZXIuY29tL1JvYkNlc3Rlcm5pbm8&nord=0"
                                }
                            }
                        },
                        {
                            "action":{
                                "text":"YouTube Video",
                                "postbackData":"youtube_tap",
                                "openUrlAction":{
                                    "url":"https://www.youtube.com/embed/xSE9Qk9wkig"
                                }
                            }
                        },
                        {
                            "action":{
                                "text":"Google Maps",
                                "postbackData":"maps_tap",
                                "openUrlAction":{
                                    "url":"https://goo.gl/maps/ToMSdr4PYX62"
                                }
                            }
                        }
                    ]
                }
            }
        }
    }
}

Bu JSON yükü bir kullanıcının RCS istemcisinde oluşturulduğunda önerilen işlemin simgesi, derin bağlantılı uygulamayla eşleşir. Önerilen işlemlerden herhangi birine dokunulduğunda, ilgili uygulama doğrudan URL'de kodlanmış içerikte başlatılır.

Uygulama simgeleri içeren önerilen URL'ler

Bunu neden istiyorsunuz?

Bir uygulamaya derin bağlantı oluşturmak istemenizin birkaç nedeni olabilir.

Kimlik doğrulama

Temsilciniz hassas olabilecek bilgileri işliyorsa, temsilcinizin güvenliğini sağlamaya yardımcı olmanın bir yolu, parmak izi, giriş veya başka bir yöntemle kullanıcının kimliğini doğrulamaya yardımcı olmak için uygulamanıza derin bağlantı oluşturmaktır. Kullanıcı başarılı bir şekilde kimlik doğrulama gerçekleştirdikten sonra kimlik doğrulama sunucu tarafını izleyebilir ve yeni bir RBM mesajı tetikleyerek kullanıcıyı temsilciye geri getirebilirsiniz. Hassas olabilecek takip mesajları gönderirseniz kullanıcının kimliğinin doğrulandığından emin olmak için sunucu tarafını kontrol edebilirsiniz. Desteklenmiyorsa kimlik bilgilerini yenilemek için bu kullanıcıları uygulamaya geri gönderebilirsiniz.

Karmaşık kullanım alanı desteği

RBM temsilcileri, konuşmalardaki etkileşimler için mükemmeldir ancak uygulamalar bazı kullanım alanlarında daha iyi hizmet verebilir. Örneğin, bir mobilya şirketiniz varsa ve kullanıcıların evlerindeki mobilyaları deneyebilmesi için artırılmış bir deneyim oluşturduysanız (aşağıdaki resme bakın) kullanım alanınız yalnızca bir uygulama tarafından desteklenebilir.

Bu gibi durumlarda, bazı işlevleri uygulamak için RBM kullanıcılarınızı uygulamanıza yönlendirmeniz mantıklı olacaktır. Uygulamanız, her zaman yeni bir temsilci mesajı tetikleyerek kullanıcıyı RBM görüşmesine geri getirebilir.

Uygulamaya derin bağlantı Derin bağlantılı uygulama

Ödeme işlemlerini kolaylaştırma

Derin bağlantılı üçüncü taraf uygulamasıyla ödemeleri destekleyebilirsiniz.

Örneğin, hayali bir ödeme şirketi olan AcmePay aracılığıyla para transferlerini desteklemek istediğinizi varsayalım. Online araştırmada, IMAPPay'in alıcılar için değerleri, tutarı ve bir sorgu dizesi parametreleri aracılığıyla bir not iletmenizi sağlayan kendi benzersiz URI yapısını kullanarak derin bağlantıyı desteklediğini keşfettiniz.

Temsilcinizin bu bilgileri kullanarak, önerilen işlemin URL kısmı için belirtilen parametreleştirilmiş AcmePay URI'sına sahip bir OpenUrlAction oluşturması yeterlidir.

acmepay://paycharge?recipients=Jane+Smith&amount=10&note=Money+For+You!

RBM mesajının alıcısı önerilen işleme dokunduktan sonra AcmePay uygulaması, doğrudan, aktarılan değerlerin doldurulduğu işlem ekranına açılır.

Uygulama yüklü değilse ne olur?

Bir uygulama kullanıcının cihazına yüklenmediyse derin bağlantı davranışı, OpenUrlAction'a iletilen URI'nın yapısına bağlıdır. URI, cihazdaki en az bir uygulama tarafından tanınabiliyorsa (örneğin, Chrome "http://" ile başlayan URL'leri tanırsa) önerilen işlem, söz konusu uygulamada normal şekilde görüntülenir. Kullanıcı işleme dokunduğunda, URI yapısını tanıyan uygulamada URI açılır.

Uygulama geliştiricisiyseniz "http://" ile başlayan ve sahip olduğunuz bir alan adına işaret eden URI'lar ile derin bağlantı oluşturmak yararlıdır. Bunun nedeni, Chrome'un kullanıcıyı yedek bir web sayfasına yönlendirmesidir. Web sayfasında kullanıcıyı uygulamayı indirmeye veya kullanım alanınıza uygun olduğunu düşündüğünüz şekilde yönlendirebilirsiniz.

URI'nın cihazdaki herhangi bir uygulama tarafından tanınmayan bir özel yapı kullanması durumunda, önerilen işlem RBM mesajınızda oluşturulmaz.

Önerilen işlemlerinizin her zaman göründüğünden emin olmak için, sahip olduğunuz bir URL'yi kullanarak web sayfasının, tarayıcıyı uygulamayı başlatan özel bir URI'ya yönlendirmesini sağlayabilirsiniz. Uygulama cihazda mevcutsa beklendiği şekilde başlatılır. Aksi takdirde kullanıcı, web sayfasında kalır ve kullanıcıyı kullanım alanınız için gereken şekilde yönlendirebilirsiniz.

Aşağıda, bunu JavaScript ile nasıl yapabileceğinize dair bir örnek verilmiştir. Komut dosyası, kullanıcıyı AcmePay uygulamasına yönlendirmeye çalışıyor, ancak söz konusu uygulama yüklü değilse komut dosyası, uygulamayı indirmesi için kullanıcıyı Google Play Store'a yönlendiriyor.

<!doctype html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width,minimum-scale=1.0, maximum-scale=1.0" />
    <title>Acme Pay</title>

    <script type="text/javascript">
    window.onload = function() {
       // Launch Acme Pay app for existing users
       window.location = 'acmepay://paycharge?recipients=Jane+Smith&amount=10&note=Money+For+You!';

       // Redirect to Acme Pay app download for new users
       setTimeout("window.location = 'https://play.google.com/store/apps/details?id=com.acmepay.android';", 1000);
    }
    </script>
</head>
<body>
    <h1>Redirecting…</h1>
</body>
</html>

Özet ve TL

Sahip olduğunuz veya kullanıcılarınızın etkileşimini artırmak için tetiklemek istediğiniz uygulamalara derin bağlantı vermek üzere OpenUrlAction önerilen işlemini kullanabilirsiniz. Derin bağlantı sayesinde kullanıcılarınıza zenginleştirilmiş ve ilgi çekici bir deneyim sunabilir ya da hassas içerik paylaşımı için daha gelişmiş bir güvenlik sağlayabilirsiniz.

İyi şanslar ve mutlu kodlamalar!