HMS DTM React Native Android Plugin — FuctionCall tipindeki CustomVariable için Workaround

Damla Ulutas
Huawei Developers - Türkiye
4 min readMay 11, 2021

Herkese merhaba, bugün bazı açıklamalarla birlikte React Native ve CustomVariable Workaround kullanan cross platformlar için DTM projemden bahsedeceğim.

Daha fazla açıklama için Huawei’in resmi internet sitesine bakabilirsiniz. HMS React Native DTM Plugin dökümanı takip ederek örnek uygulama yapabilirsiniz.

! Başlamadan önce gerekli paketleri yüklediğinizden ve uygulamayı yapılandırdığınızdan emin olun.

Dynamic Tag Manager Nedir (DTM) ?

Belirli olayları izlemek ve bu raporları üçüncü taraf analiz platformlarına rapor etmek için dinamik bir etiket yöneticisi olan HUAWEI Dynamic Tag Manager'ı kullanıyoruz.

DTM aslında kendine ait bir apisi var diyemeyiz. Analytics kitin bir apisi olan onEvent apisini kullanır. Variable’ları kullanarak özel Tag’ler aracılığıyla bu api üzerinden raporlarma yapar. Hem Huawei Analytics platformuna hemde desteklenen 3. parti platformlarına raporlama yapmanızı sağlar.
HMS React Native DTM Plugin’ini kullanarak raporlama yaparken, bir çok farklı seneryo türüyle karşılaşabilirsiniz. Bu seneryolarda belli özel değişkenler oluşturmanız ve Tag’lerinizi de bu değişkenlerin durumuna göre tetiklemeniz gerekebilir. Bu yazıda CustomVariable kullanımından bahsedeceğiz.

Seneryomuz aşağıdaki gibi olsun:

Ürünlerinizi sattığınız bir siteye sahip olun. Ürün çeşitlerinizden biri olan pantolonlarınız için bir satış rapor hazırlamak isteyin. Her pantolon satıldığında bir tag tetiklenmesini isteyin. Satılan ürünün fiyatı belli bir değerde olduğunda ekstra rapor oluşturun. Dolayısıyla, mevcut Tag'iniz ile başka bir Tag tetikleyin. Bu senaryo için, AGC'ye aşağıda gösterildiği gibi DTM console öğelerini eklemelisiniz.

Bir CustomTag Oluştur

1.Öncelikle bir Tag ve ona ait bir Condition oluşturmalısınız. “Extension” kısmı, “Custom function” olmalıdır. Bu, Tag class path ile tetiklendikten sonra Tag’a ait olan elemanları call metodu ile bize geri döndürecektir.

Not: Ve bu returnMap, bir CustomVariable — FunctionCall tipini çağırmadan önce dönüş değerini istediğimiz gibi ayarlamamıza izin verecektir. Aslında bu workaround, CustomTag ve CustomVariable’ın kullanıcı etkinliğini artırmak için oluşturulmuştur.

Condition
CustomTag

2. Her satılan ürün için, onEvent API’si aracılığıyla bir Tag tetiklenecek HUAWEI Analytics’e eventId’sini gönderecektir.

Oluşturduğumuz Tag için yukarıdaki işlevi çağırdığımızda sunucu, CustomTag sınıfı üzerinden bir “map” objesi döndürür. Bu map'i Function call için kullanacağız.

Server tarafından gönderilen dönüş değerini aldıktan sonra, bu değerleri Function call çağrılmadan önce returnValue değerine karar vermek ve önceden ayarlamak için kullanacağız.
3. CustomTag, workaround dışında da çağrılabilir, bu nedenle if-check kontrolü yapmamız gerekir.

setCustomVariable API’sini Çağır

Bu fonksiyon, map objesindeki değerlerle istediğiniz ayarlamaları ve kontrolleri yaptıktan sonra returnValue değerini set etmenize olanak tanır.

CustomVariable class'ı, bir String değer döndürmenizi ister ve bu değer, CustomVariable — Function call değeri ile eşleşmezse Tag'iniz tetiklenmez. Ve kullanıcı, Fuction call türünde CustomVariable'ı çağırdıktan sonra returnValue değerini değiştiremez. Bu nedenle, öncelikle console’da returnValue'ya karar vermemize yardımcı olacak parametrelerle bir CustomTag oluşturmalısınız. Bu CustomTag’in dönüş değeri ile, CustomVariable sınıfında returnValue değerini belirlemelisiniz. Ardından CustomVariable’ı tetiklemelisiniz.
1. Bir CustomVariable oluşturmanız gerekir. İstenilen değere ulaştığında bir Tag’in tetiklenmesi gerektiğinden, type’ı Function call olmalıdır.

CustomVariable

2. Bir Condition oluşturmalısınız. onEvent api’sinin eventId değişkeninin değeri, tanımladığınız koşuldaki değerle eşleşmelidir.

Condition

3. Şimdi de bir Tag oluşturmanız gerekir. Bu Tag CustomVariable’ınızı dinler ve AppDebugging’de “Price100PantsSold” eventId’sini görürsünüz.(AppDebugging Huawei App Gallery Console’da Huawei Analytics’in altında bir bölümdür.)

Tag

CustomVariable için onEvent API’sini Çağırın

AGC-HUAWEI Analytics altında tüm eventId’leri görebileceğiniz bir AppDebugging bölümü bulunmaktadır. Aşağıda ki tetiklenmiş eventId’lerinizi görmelisiniz.

App.js

Her satış için “PantsSold” eventId’sini ve istenilen satış koşulu için de “Price100PantsSold” eventId’sini tetiklemiş oldunuz. Serneryoyu başarıyla gerçekleştirmiş oldunuz.

Daha fazla seneryo ve bilgi için lütfen Huawei’s Developers web sitesini inceleyebilirsiniz.

Tesekkürler :)

Kaynaklar

--

--