Geliştiriciler
Mobil SDK (önizleme)
Messenger'ı iOS, Android, React Native veya Flutter uygulamanıza koyun.
Mobil SDK'lar Messenger'ı uygulamanızın içinde tam ekran açar. Konuşmalar, yardım makaleleri, aramalar ve Ayarlar → Messenger bölümünde ayarladığınız her şey web sitenizdeki gibi çalışır; kullanıcıyı tanıttığınızda sitenizde ve uygulamanızda yazan bir müşteri tek bir geçmiş görür.
Önizleme. SDK'lar dört çeşit kaynak kod olarak hazır. Henüz App Store araçlarında, Maven Central, npm veya pub.dev'de yoklar — dosyaları bizden isteyin. Yayınlamadan önce uygulamanızda test edin.
Nasıl çalışır
Her SDK tek bir sayfayı, https://app.shopxare.com/widget/v1/mobile/UYGULAMA_KIMLIGINIZ, bir web görünümünde açar ve onunla küçük bir köprü üzerinden konuşur. Kullanıcı bilgileri adresin # sonrasındaki kısmında taşınır; bu kısım hiçbir sunucuya gönderilmez ve sayfa okur okumaz adresten siler. Messenger bizim tarafımızda çalıştığı için iyileştirmeler uygulama güncellemesi olmadan uygulamanıza ulaşır.
Kullanıcılarınızı tanıtın
Kullanıcının kimliğini ve kimlik doğrulamadaki user hash değerini verin. Hash'i sunucunuzda hesaplayıp girişten sonra uygulamaya gönderin — Messenger gizli anahtarını asla uygulamaya koymayın, herkes okuyabilir.
iOS (Swift)
ShopxareMessenger Swift paketini ekleyin (iOS 14+).
import ShopxareMessenger
Shopxare.configure(appId: "UYGULAMA_KIMLIGINIZ")
Shopxare.identify(ShopxareUser(userId: "42", userHash: sunucudanGelenHash, email: "[email protected]", name: "Ada"))
Shopxare.present(from: self) // veya present(from: self, newMessage: "")
Shopxare.trackEvent("order_placed", meta: ["total": 59.9])
Shopxare.addUnreadCountHandler { count in /* rozet */ }
Shopxare.logout() // çıkışta
Aramalar için Info.plist dosyanıza NSMicrophoneUsageDescription ve NSCameraUsageDescription ekleyin.
Android (Kotlin)
shopxare modülünü ekleyin (minSdk 23).
Shopxare.configure("UYGULAMA_KIMLIGINIZ")
Shopxare.identify(ShopxareUser(userId = "42", userHash = sunucudanGelenHash, email = "[email protected]"))
Shopxare.present(context) // veya present(context, newMessage = "")
Shopxare.trackEvent("order_placed", mapOf("total" to 59.9))
Shopxare.addUnreadCountListener { count -> /* rozet */ }
Shopxare.logout()
Aramalar için manifest dosyanızda RECORD_AUDIO (görüntülü için CAMERA) izinlerini bildirin; SDK arama başladığında kullanıcıya sorar.
React Native
react-native-webview 13 veya üstü gerekir.
import { ShopxareProvider, useShopxare } from '@shopxare/react-native-messenger';
<ShopxareProvider appId="UYGULAMA_KIMLIGINIZ" user={{ userId: '42', userHash, email: '[email protected]' }} onUnreadCountChange={setBadge}>
<App />
</ShopxareProvider>
const shopxare = useShopxare();
shopxare.present();
shopxare.trackEvent('order_placed', { total: 59.9 });
shopxare.logout();
Flutter
webview_flutter 4.4+ ve url_launcher gerekir.
Shopxare.configure('UYGULAMA_KIMLIGINIZ');
Shopxare.identify(const ShopxareUser(userId: '42', userHash: sunucudanGelenHash, email: '[email protected]'));
Shopxare.present(context);
Shopxare.trackEvent('order_placed', {'total': 59.9});
Shopxare.unreadCount.addListener(() => setBadge(Shopxare.unreadCount.value));
Shopxare.logout();
Bu önizlemede Flutter web görünümünde dosya yükleme ve aramalar için uygulamanızda webview_flutter'ın platform ayarları gerekir.
Bilmeniz gerekenler
- Messenger kapalıyken kaydettiğiniz olaylar, bir sonraki açılışta gönderilir.
- Okunmamış sayısı, Messenger ekranı varken güncellenir. Yeni cevaplar için anlık bildirimler önizlemede henüz yok: müşteri yeni cevapları Messenger'ı tekrar açtığında görür.
- Mesajlardaki bağlantılar sistem tarayıcısında açılır.
- Çıkış yapıldığında cihazdaki bir sonraki kişi yeni bir oturumla başlar.
Kendi entegrasyonunuz
Başka bir çerçeve mi kullanıyorsunuz? Sayfayı herhangi bir web görünümünde açın ve köprüyü izleyin: sayfa {"type": "ready" | "unread" | "close" | "open_url"} mesajları gönderir; uygulamanız window.ShopxareMobile.command(name, ...args) ile show, hide, update, trackEvent, showNewMessage veya shutdown çağırabilir.
Hâlâ takıldınız mı? İletişim