Akinon App Maker Eklentisi

Kurulum, 22 olay eşlemesi, bileşenler

selwise-akinon-appmaker, Akinon App Maker (rn-env 7) uygulamaları için hazır bir eklentidir. Uygulamanın kendi AnalyticsService yayınına abone olur; ekranlara dokunmadan olay takibi, kimliklendirme ve sipariş atfı çalışır. Kampanya, öneri, arama ve zenginleştirme için hazır bileşenler verir. Kendi React Native uygulamanız varsa bu sayfa size gerekmez; Kurulum yeter. Platform notları: Akinon.

Kurulum

Eklenti saf JavaScript'tir; iOS ve Android projelerine dokunmaz, yani yeni bir native sürüm gerektirmez.

  1. Klasörü uygulamada .plugins/selwise-akinon-appmaker altına kopyalayın.
  2. SDK'yı ekleyin: yarn add @selwise/react-native. Eklenti 0.6.0 SDK 0.10.0'ı hedefler; öneri deneyleri için 0.11.0 ve üstü gerekir, eski SDK'da her özellik sessizce eski davranışa düşer (Sürümler).
  3. akinon.json içinde plugins altında eklentiyi ve yapılandırmasını bildirin (config.example.json örnektir).
  4. Üretilen dependencies/plugins.js kaydına ekleyin:
import SelwiseService from '.plugins/selwise-akinon-appmaker';
export default { SelwiseService, /* ... */ };

CreateApp kayıttaki her girdinin init()'ini çağırır; eklentiyi ayrıca başlatmanız gerekmez.

Yapılandırma

AnahtarZorunluNe yapar
channelKeyEvetUygulama kanalının anahtarı (Channel Overview → Channel Key). Eski siteKey adı kabul edilir.
apiKeyEvetChannels → satırın ⋮ menüsü → API keys; amaç Mobile app, yani mobile_read ve mobile_write birlikte.
apiUrlHayırVarsayılan üretimdir. Sürüm önekini içerir: https://api.selwise.com/api/v1.
debugHayırHer eşlenen olayı Metro konsoluna yazar ve global.Selwise tutamacını açar.
consentHayırSDK'ya verilecek başlangıç onay özeti.
analytics.activeHayırfalse olay aboneliğini durdurur; öneriler çalışmaya devam eder.
recommendation.placementsHayırHangi widget'ın hangi ekranda çizileceği: anahtar sentetik ekran adı, değer widget adı ya da kimliklerinin listesi.

channelKey ya da apiKey eksikse eklenti boşta kalır ve yalnızca konsola yazar; her çağrı boş döner ve boş katalog gibi görünür. İstemci clientPlatform: akinon-appmaker ile açılır, böylece uygulama trafiği web'den ayırt edilir.

Ne toplanır

Eklenti 22 App Maker olayına abone olur. Hiçbir şey sorgulanmaz, hiçbir ekran yamalanmaz.

App Maker olayıSelwise
navigationChangepage_view (sentetik ekran adıyla)
productImpressionproduct_view
cartChangesadd_to_cart ya da remove_from_cart, değişen satırla
basketImpressioncart_view (yalnızca Basket ekranında)
checkoutImpressioncheckout_begin
addShippingInfo, addPaymentInfocheckout_option (option: shipping ya da payment)
measuringPurchasesSipariş (trackOrder) ve ardından kuyruk boşaltma
productsImpressionssearch_query, yalnızca eylemde arama metni varsa
selectItemImpressionproduct_click (source: list ya da search, position)
categoryImpressioncategory_view
setFiltersearch_filter ya da category_filter
setSortersearch_sort
searched, barcodeSearchedsearch_query (source: app_search ya da app_barcode)
addToFav, addToFavOnBasketwishlist
currentUseridentify
userLoginidentify ve login (sunucu bunu user_login'a çevirir)
userRegisteridentify ve signup (0.6.0'da sunucu bu adı tanımaz, custom_event olarak yazılır)
userLogoutlogout(): kimliği siler, yeni oturum açar; ziyaretçi korunur
appOnBackgroundKuyruğu gönderir

Ölçümü doğru kılan üç ayrıntı:

  • Sepet olayları sepeti karşılaştırarak üretilir, addToCart olayına abone olunarak değil; ikisine birlikte abone olmak aynı eklemeyi iki kez sayardı. Yön, sepetteki toplam adedin artıp azalmasından çıkarılır ve değişen satır metadata'ya yazılır.
  • Ürün kodu sku'dur, baseCode değil. baseCode grup anahtarıdır; Selwise item_code ile eşleştirir. Sayısal pk sepetin kabul ettiği koddur ve kimlik olarak gönderilmez.
  • Sıfır sonuçlu arama iddia edilmez. App Maker sorguyu sonuçlar gelmeden yayınlar; tahmin etmek sıfır sonuç raporuna uydurma satır yazmak olurdu.

Kullanıcı kimliği pk'dır (anonim oturumdaki false kimlik sayılmaz); web ile aynı kimlik gönderilirse aynı müşteri tek profilde birleşir. E-posta kimlik değil özelliktir.

Ekran adları

navigationChange ekran adını sentetik adreslere çevirir. Panelde sayfa hedeflemeyi bunlara göre yazın:

EkranSentetik ad
HomePageapp://home
ProductDetailapp://product
ProductListapp://list
Categoryapp://category
CollectionList, CollectionDetailapp://collections, app://collection
Search, PrimeSearchapp://search
Basketapp://basket
Checkout, CheckoutSuccessapp://checkout, app://checkout/success
Favouriteapp://favourites
Account, Profile, Orders, OrderDetailapp://account, app://account/profile, app://account/orders, app://account/order
SignIn, SignUpapp://auth/login, app://auth/register
Notifications, Contactapp://notifications, app://contact
Diğerapp:// + küçük harfli ekran adı

Bileşenler

Hepsi .plugins/selwise-akinon-appmaker/ui altından gelir; yerleşik görünümler ilk saatler ve demo içindir, bilerek sadedir. Kendi bileşeninizi renderers, renderItem ile verirsiniz.

BileşenKullanım
SelwiseSurfacesKökte bir kez: plugin, onNavigate, counts, renderers. Her gezinmede o ekranın kampanya ve widget'larını yeniden değerlendirir. Çizdiği türler: announcement_bar, sticky_footer, floating_button, countdown_timer, goal_bar, newsletter, slide_in, exit_intent_popup, cart_count, product_view_count, custom.
RecommendationStripsEkran başına, içerik akışında: plugin, screenName, context, renderItem, onProductPress. Başlık sırası: title özelliği, widget başlığı, widget adı.
SelwiseSearchArama sonuç görünümü: plugin, query, renderItem. Selwise'in eş anlamlı, yönlendirme ve sıfır sonuç kurallarını uygular; arama girişini uygulama kendisi tutar.
SelwiseEnrichmentplugin, code (ürün sku), slot; zenginleştirmeyi izole WebView'de çizer.

Eklenti sepeti SDK'ya kendisi verir (Redux deposuna abone olarak): setCart için tutar basket.amounts.totalAmount (kargo öncesi), adet basket.totalQuantity, kodlar satırların pk ve sku değerleridir. Ürün sayfasında getSurfaces'a ekrandaki ürünü (name, price, retailPrice, seçili varyantın stock'u) verir; ürün yüklenirken pending: true verir. Ayrıntı: Sepet ve Dinamik İçerik.

Web'de olan, burada farklı olanUygulamada
scroll tetiğiHemen çizilir; hiçbir App Maker ekranı kaydırma ofsetini bildirmez
exit_intent tetiğiUygulama arka plana gidince ateşlenir
cart_count, product_view_countSayıları siz counts ile verirsiniz; verilmezse rozet gizli kalır
Hedef çubuğunu kapatmaYalnızca SDK oturumu boyunca hatırlanır
customCss ve customJsYalnızca custom türünde, WebView içinde (Özel Widget)

openStorefrontPath(url) kampanya düğmesinin web için yazılmış adresini (/baskets/basket/) App Maker'ın kendi derin bağlantı haritasından geçirir; baskets/basket tarayıcı yerine Basket ekranını açar. Yalnızca gerçekten dış bir mutlak adres uygulamadan çıkar.

WebView ödeme

Çoğu App Maker uygulamasında ödeme bir WebView'dir. SDK köprüsünü doğrudan kurun:

import { WebViewBridge, WEBVIEW_BRIDGE_SCRIPT } from '@selwise/react-native';

const bridge = new WebViewBridge(Selwise.selwise);   // Selwise: eklenti nesnesi

Eklentinin Selwise.webViewBridge() yardımcısı 0.6.0'da kurucuya yanlış bağımsız değişken verir; doğrudan kurmak güvenlidir. Ayrıntı: WebView Köprüsü.

Sırada ne var

Son güncelleme: 10 Ekim 2026