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.
- Klasörü uygulamada
.plugins/selwise-akinon-appmakeraltına kopyalayın. - 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). akinon.jsoniçindepluginsaltında eklentiyi ve yapılandırmasını bildirin (config.example.jsonörnektir).- Üretilen
dependencies/plugins.jskaydı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
| Anahtar | Zorunlu | Ne yapar |
|---|---|---|
channelKey | Evet | Uygulama kanalının anahtarı (Channel Overview → Channel Key). Eski siteKey adı kabul edilir. |
apiKey | Evet | Channels → satırın ⋮ menüsü → API keys; amaç Mobile app, yani mobile_read ve mobile_write birlikte. |
apiUrl | Hayır | Varsayılan üretimdir. Sürüm önekini içerir: https://api.selwise.com/api/v1. |
debug | Hayır | Her eşlenen olayı Metro konsoluna yazar ve global.Selwise tutamacını açar. |
consent | Hayır | SDK'ya verilecek başlangıç onay özeti. |
analytics.active | Hayır | false olay aboneliğini durdurur; öneriler çalışmaya devam eder. |
recommendation.placements | Hayır | Hangi 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 |
|---|---|
navigationChange | page_view (sentetik ekran adıyla) |
productImpression | product_view |
cartChanges | add_to_cart ya da remove_from_cart, değişen satırla |
basketImpression | cart_view (yalnızca Basket ekranında) |
checkoutImpression | checkout_begin |
addShippingInfo, addPaymentInfo | checkout_option (option: shipping ya da payment) |
measuringPurchases | Sipariş (trackOrder) ve ardından kuyruk boşaltma |
productsImpressions | search_query, yalnızca eylemde arama metni varsa |
selectItemImpression | product_click (source: list ya da search, position) |
categoryImpression | category_view |
setFilter | search_filter ya da category_filter |
setSorter | search_sort |
searched, barcodeSearched | search_query (source: app_search ya da app_barcode) |
addToFav, addToFavOnBasket | wishlist |
currentUser | identify |
userLogin | identify ve login (sunucu bunu user_login'a çevirir) |
userRegister | identify ve signup (0.6.0'da sunucu bu adı tanımaz, custom_event olarak yazılır) |
userLogout | logout(): kimliği siler, yeni oturum açar; ziyaretçi korunur |
appOnBackground | Kuyruğu gönderir |
Ölçümü doğru kılan üç ayrıntı:
- Sepet olayları sepeti karşılaştırarak üretilir,
addToCartolayı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ırmetadata'ya yazılır. - Ürün kodu
sku'dur,baseCodedeğil.baseCodegrup anahtarıdır; Selwiseitem_codeile eşleştirir. Sayısalpksepetin 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:
| Ekran | Sentetik ad |
|---|---|
HomePage | app://home |
ProductDetail | app://product |
ProductList | app://list |
Category | app://category |
CollectionList, CollectionDetail | app://collections, app://collection |
Search, PrimeSearch | app://search |
Basket | app://basket |
Checkout, CheckoutSuccess | app://checkout, app://checkout/success |
Favourite | app://favourites |
Account, Profile, Orders, OrderDetail | app://account, app://account/profile, app://account/orders, app://account/order |
SignIn, SignUp | app://auth/login, app://auth/register |
Notifications, Contact | app://notifications, app://contact |
| Diğer | app:// + 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şen | Kullanım |
|---|---|
SelwiseSurfaces | Kö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. |
RecommendationStrips | Ekran başına, içerik akışında: plugin, screenName, context, renderItem, onProductPress. Başlık sırası: title özelliği, widget başlığı, widget adı. |
SelwiseSearch | Arama 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. |
SelwiseEnrichment | plugin, 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ı olan | Uygulamada |
|---|---|
scroll tetiği | Hemen çizilir; hiçbir App Maker ekranı kaydırma ofsetini bildirmez |
exit_intent tetiği | Uygulama arka plana gidince ateşlenir |
cart_count, product_view_count | Sayıları siz counts ile verirsiniz; verilmezse rozet gizli kalır |
| Hedef çubuğunu kapatma | Yalnızca SDK oturumu boyunca hatırlanır |
customCss ve customJs | Yalnı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