SDK 101
在你開始整合釺sdk之前,你會發現你想知道什麼你構建和集成。此外,你會發現自己好奇如何進一步定製以滿足您的需求。這篇文章可以幫助你回答你所有的SDK的問題。你也可以看看我們技術集成清單和工具包釺課程學習。
應用程序的性能
釺應該沒有對應用程序的性能產生負麵影響。
釺sdk有非常小的足跡。我們自動改變我們刷新用戶數據的速度取決於網絡的質量,除了允許手動網絡控製。我們從SDK自動批處理API請求以確保數據快速記錄,同時保持最大網絡效率。最後,從客戶端發送的數據量釺在每個API調用非常小。
特性集違約
如果你遵循我們的集成指導來實現我們的sdk,您將能夠利用我們的默認的數據收集。
我們所有的功能都是可配置的,但它不會有利於避免這些集成。
例如,如果您選擇不完全集成的位置在一個sdk,你將無法個性化消息基於語言或位置。如果有必要,它是可能的阻止某些數據的默認集合,以及allowlist過程。
設備屬性
網絡收集的這些屬性SDK在適當的集成。
的名字 | 描述 |
---|---|
瀏覽器 | 瀏覽器的名稱。 |
BROWSER_VERSION | 版本的瀏覽器。 |
操作係統 | 操作係統的名稱。 |
決議 | 設備的屏幕分辨率。這個值的格式是“<寬度> x<高度> ”。 |
語言 | 瀏覽器將使用的語言。 |
TIME_ZONE | 設備的時區。 |
USER_AGENT | 瀏覽器的用戶代理字符串。 看到Mozilla開發人員文檔為更多的信息。 |
這些屬性收集的Android SDK在適當的集成。
的名字 | 描述 |
---|---|
ANDROID_VERSIONos_version |
安卓係統的版本安裝在設備上。 |
航空公司 | 移動運營商。 |
模型 | 的特定的硬件設備。 |
決議 | 設備的屏幕分辨率。這個值的格式是“<寬度> x<高度> ”。 |
語言環境 | 默認語言環境的設備。這個值的格式是“<語言> _<中國> ”(如“en_US”)。 |
時區time_zone |
設備的時區。 |
NOTIFICATIONS_ENABLEDremote_notification_enabled |
這個程序是否啟用通知。 |
收集的這些屬性iOS SDK在適當的集成。
的名字 | 描述 |
---|---|
設備分辨率ABKDeviceOptionResolution |
設備的屏幕分辨率。這個值的格式是“<寬度> x<高度> ”。 |
設備運營商ABKDeviceOptionCarrier |
報告的移動運營商。 |
設備現場ABKDeviceOptionLocale |
默認語言環境的設備。 |
設備模型ABKDeviceOptionModel |
的特定的硬件設備。 |
設備操作係統版本ABKDeviceOptionOSVersion |
的版本iOS操作係統安裝在設備上。 |
設備IDFVABKDeviceOptionIDFV |
供應商設備標識符。 |
設備IDFAABKDeviceOptionIDFA |
(如果提供)設備標識符廣告商。 |
設備將啟用ABKDeviceOptionPushEnabled |
這款應用是否啟用推送通知。 |
設備的時區ABKDeviceOptionTimezone |
報告設備的時區。 |
設備將授權狀態ABKDeviceOptionPushAuthStatus |
這個程序是否已經把授權的設備。 |
設備廣告跟蹤啟用ABKDeviceAdTrackingEnabled |
這款應用是否有廣告跟蹤啟用。 |
數據上傳和下載
釺SDK緩存數據(會議、定製事件等),定期上傳它。隻有在數據已經上傳將儀表板上的值被更新。上傳時間間隔考慮設備的狀態,是由網絡連接的質量:
網絡連接質量 | 數據刷新時間間隔 |
---|---|
偉大的 | 10秒 |
好 | 30秒 |
可憐的 | 60秒 |
如果沒有網絡連接,設備上的數據緩存在本地,直到重新建立網絡連接。重新建立連接時,數據將被上傳到釺。
釺發送數據的SDK的開始會話基於這部分用戶分為會話的時候。新聞提要或新的應用消息會話期間不會被更新。然而,用戶數據在會話期間將不斷從客戶端發送處理。例如,失效的用戶(去年使用app超過7天前)仍然會接收內容針對的用戶在應用他們的第一次會議。
屏蔽數據收集
這是有可能的,雖然不是建議,阻止某些數據的自動收集你的SDK集成。如上所述的部分特性集違約,沒有完全整合我們的sdk可以減少個性化的功能和定位。
例如,如果您選擇不完全集成的位置在一個sdk,你將無法個性化消息基於語言或位置。如果你選擇不整合時區,你可能無法發送消息在用戶的時區。如果你選擇不整合為特定設備的視覺信息,消息內容可能不是優化設備。
我們強烈建議充分整合sdk來充分利用我們的產品的性能。
Web SDK
您可以不整合SDK的某些部位,或使用disableSDK
對於一個用戶。該方法將數據記錄之前,當同步disableSDK ()
叫,會導致後續調用這個頁麵的釺Web SDK和未來的頁麵加載被忽略。如果你想恢複數據收集在稍後的時間點上,你可以使用enableSDK ()
在未來恢複數據收集方法。您可以了解更多關於我們禁用網絡跟蹤篇文章。
Android SDK
您可以使用setDeviceObjectAllowlist
配置隻發送設備對象的一個子集鍵或值根據一組allowlist。這必須通過啟用setDeviceObjectAllowlistEnabled
。
一個空allowlist將導致沒有設備數據被送到釺。
iOS SDK
你可以通過一個appboyOptions
值ABKDeviceAllowlistKey
為設備字段指定一個allowlist收集的SDK。中定義的字段ABKDeviceOptions
。關閉所有設備字段的集合,這個關鍵的值ABKDeviceOptionNone
。
指定allowlisted設備領域,分配位或所需的字段ABKDeviceAllowlistKey
在appboyOptions
對象傳遞給startWithApiKey
。
默認情況下,所有收集的字段是釺iOS SDK。
SDK的兼容性
釺的SDK設計非常乖巧,而不幹擾其他SDK出現在你的手機應用程序。如果你正在經曆任何問題你認為可能是因為不相容與另一個移動SDK,接觸釺的支持。
此外,釺iOS SDK完全支持RubyMotion應用。