# iOS SDK Weexフレームワークサポート
このガイドでは、WeexでiOS SDKの機能を使用する方法について説明します。
最新バージョンバージョン: 2.0.0
更新時間は: 2020-06-06
# I.統合SDK
# 1.1統合iOS SDKとWeexサポートテキスト
(1)iOS SDKの統合iOS SDKiOS SDK使用ガイド
(2)iOS SDKの統合が完了したら、ここをクリックし (opens new window)Weexサポートテキストをダウンロードし、解凍してWeexThinkingDataAnalyticsModule. hと
とWeexThinkingDataAnalyticsModule. mテキスト
テキストをプロジェクトプロジェクトに追加
また、印刷データLogは、setLogLevelメソッドを呼び出し呼び出し
て開くことができる。
アップロードするネットワーク条件を設定します。デフォルトでは、SDKは3G、4G、Wifiでデータをアップロードするネットワーク条件を設定します
setNetworkTypeメソッドを使用してアップロードを許可するネットワーク条件を変更できます。
iOS SDK v2.3.0以降、SDKはHTTPS検証メソッドを構成できます。
iOS SDKはv2.3.1以降、デフォルトのタイムゾーンの設定をサポートしており、必要に応じて構成できます。
iOS SDKはv2.4.0から始まり、クライアントSDKはDebugモードをサポートしています。
を参照してiOS SDK使用ガイド
(3)AppDelegate. mに追加AppDelegate. mに追加
#import "WeexThinkingDataAnalyticsModule.h"
その後、application: didFinishLaunchingWithOptions:
メソッドで、iOS SDKとWeexで初期化されたコードの後に、Weexサポートプラグインの初期化コード
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 初始化 iOS SDK
[ThinkingAnalyticsSDK startWithAppId:@"APP_ID"
withUrl:@"SERVER_URL"];
// 初始化 weex
[WeexSDKManager setup];
// 初始化 Weex 支持插件
[WXSDKEngine registerModule:@"WeexThinkingDataAnalyticsModule" withClass:[WeexThinkingDataAnalyticsModule class]];
return YES;
}
# 1.2 JSテキストでのモジュールの取得
具体的に使用するJSテキストに次のコードを追加してください:
var tamodal = weex.requireModule("WeexThinkingDataAnalyticsModule");
# 1.3 WeexでのSDK機能の使用
インポートが完了したら、RNでSDK機能
# 第二に、ユーザIDを設定
# 2.1ゲストIDの設定(オプション)
SDKインスタンスでは、各ユーザーのデフォルトのゲストIDとしてランダムなUUIDが使用されます。ゲストIDは、ユーザーがアプリを再インストールしたり、デバイスを交換したりするときに変更されます。
ユーザーが製品にログインしていない状態で使用でき、ログインしていない状態でユーザーのゲストIDを設定する必要がある場合は、を
呼び出して設定できます
tamodal.identify({
appID: "YOUR_APPID",
distinctId: "distinctId1"
});
# 2.2アカウントIDの設定
ユーザーがログインすると、login
を呼び出してユーザーのアカウントIDを設定できます。アカウントIDを設定した後、アカウントIDを識別IDとして設定し、設定したアカウントIDはlogoutを呼び出すlogout
まで保持します
tamodal.login({
appID: "YOUR_APPID",
loginId: "weex_textlogin"
});
login
は何度も呼び出すことができ、呼び出しのたびに、着信したアカウントIDが以前に保存したIDと一致するかどうかを判断し、一致する場合は呼び出しを無視し、一致しない場合は以前のIDを上書きします。
iOS SDKでloginインターフェイスを呼び出してアカウントIDを設定した場合、RNでの呼び出しは以前に設定されたアカウントIDを上書きし、iOS SDK以降のlogin呼び出しもRNで設定されたアカウントID
この方法では、ユーザーがログインしたイベントはアップロードされません
# 2.3アカウントIDの消去
ユーザーがログアウトした後、ログアウト
てアカウントIDをクリアできます
。次にログインする前に、ゲストIDをIDとして使用します
tamodal.logout({ appID: "YOUR_APPID" });
RNでのlogoutの呼び出しもiOS SDKでのアカウントIDを消去し、同様にiOS SDK呼び出しlogoutもRNでのアカウントID
ユーザーがアカウントをキャンセルした場合など、明示的なログアウトイベント時にログアウト
、明示的なログアウトイベント時にログアウトを呼び出すことをお勧めします。
# 三、事件を送る
# 3.1送信イベント
を呼び出しtrack
てイベントをアップロードできます。このインターフェイスはSDKのtrack
インターフェイスを呼び出します。詳細な使用方法はSDKドキュメントのtrack
インターフェイスの紹介を参照してください
tamodal.track({
appID: "YOUR_APPID",
eventName: "track"
});
tamodal.track({
appID: "YOUR_APPID",
eventName: "rn_texttrack",
properties: {
KEY_NUMBER: 1.02,
KEY_STRING: "name",
KEY_LIST: [1, 2, 3],
KEY_BOOL: true,
KEY_DateTime: "2020-05-12 06:27:18.371"
},
time: new Date("May 17, 2020 03:24:00").getTime(),
timeZone: "UTC"
});
eventName
はイベントのイベント名で、プロパティ
はイベントのすべての属性で、iOS SDK v2.2.0にイベントトリガー時間とタイムシフトを設定するメソッドオーバーロードが追加され、着信time
型のパラメータをサポートしてイベントトリガー時間を設定し、timeZone
でタイムシフトを設定します。このパラメーターを渡さないと、track
呼び出されたときのネイティブ時刻とオフセットがイベントトリガー時刻とタイムゾーンオフセットとして取得されます。
注意:イベントはトリガー時間を設定できますが、受信側は次のような制限をして、相対サーバー時間の10日前から3日後までのデータしか受信しません。期限を超えたデータは異常データとみなされ、データ全体が入庫できません。
iOS SDK v2.3.1以降、SDKのデフォルトのタイムゾーンを設定することで、複数のタイムゾーンでのイベント時間を揃えることができます。iOS SDK使用ガイド設定してください。iOS SDK v2.5.0以降では、SDKタイムインターフェイスのキャリブレーションを使用して、サービス側の時間を使用してデータ収集を一元的に完了できますキャリブレーションタイムセクション。
# 3.2パブリックイベントプロパティの設定
ユーザーのメンバーシップレベル、ソースチャネルなどの重要なプロパティは、イベントごとに設定する必要があります。共通イベントプロパティとは、各イベントに含まれるプロパティのことです。setSuperPropertiesを呼び出して
共通プロパティを設定できます。イベントを送信する前に、共通イベントプロパティを設定することをお勧めします。
共通イベント属性のフォーマット要件は、イベント属性と一致します。
tamodal.setSuperProperties({
appID: "YOUR_APPID",
properties: { superKey: 1, superKey2: "value" }
});
を削除する必要がある場合はunsetSuperProperty
呼び出して指定されたパブリックイベントプロパティをクリアできます。すべてのパブリックイベントプロパティを空にする場合は、clearSuperPropertiesを呼び出します
tamodal.unsetSuperProperty({
appID: "YOUR_APPID",
properties: "superKey"
});
tamodal.clearSuperProperties({ appID: "YOUR_APPID" });
# 3.3記録された事件の長さ
を呼び出してtimeEvent
タイミングを開始し、タイミングを設定するイベント名を設定します。イベントをアップロードすると、自動的にイベントプロパティに#duration
を追加して、レコードの長さを秒で表します。
tamodal.timeEvent({
appID: "YOUR_APPID",
eventName: "rn_texttrack"
});
渡されたパラメータは、時間を記録する必要があるイベントのイベント名で、イベントがトリガーされるとタイミングが停止し、#duration
というタイミング属性がイベントに記録され
RNで設定したタイミングでiOS SDKアップロードの対応イベントを記録でき、同様にiOS SDKで設定したタイミングでRNでアップロードの対応イベント
# 四、ユーザー属性
TAプラットフォームで現在サポートされているユーザープロパティ設定インターフェイスはuserSet
、userSetOnce
、userAdd
、userUnset
、userDel
とuserAppendです
# 4.1ユーザーセット
一般的なユーザープロパティでは、userSet
ことで、インターフェイスを使用してアップロードされたプロパティが元のプロパティ値を上書きし、ユーザープロパティが存在しない場合は、新しいユーザープロパティが作成され、入力されたプロパティの型と一致
tamodal.userSet({
appID: "YOUR_APPID",
properties: { usersetkey: 2, usersetkey2: "usersetvalue" }
});
# 4.2ユーザーSetOnce
アップロードするユーザープロパティが一度設定されている場合は、userSetOnceを
呼び出して設定できます。プロパティに値がある場合は無視されます。
tamodal.userSetOnce({
appID: "YOUR_APPID",
properties: { name: "yea" }
});
# 4.3 userAdd
をアップロードする場合は、userAdd
を呼び出してアキュムレータ操作を実行できます。プロパティが設定されていない場合は、0を割り当ててから計算
tamodal.userAdd({
appID: "YOUR_APPID",
properties: { age: 1 }
});
# 4.4 userUnset
ユーザーのユーザープロパティ値を空にする場合は、userUnset:
:を呼び出して指定されたプロパティを空にすることができuserUnset:
は作成されません
tamodal.userUnset({
appID: "YOUR_APPID",
properties: "usersetkey"
});
# 4.5ユーザーデル
ユーザーを削除する場合は、userDelを呼び出しuserDel
を呼び出して削除でき
tamodal.userDel({ appID: "YOUR_APPID" });
# 4.6ユーザー追加
iOS SDK v2.4.0以降では、userAppendを呼び出して
Arrayタイプのユーザープロパティを追加できます。
tamodal.userAppend({
appID: "YOUR_APPID",
properties: { keyArr: ["age", "2"] }
});
# V.自動収集イベント
自動収集イベントの具体的な使用方法については、iOS SDK自動収集ガイド章を参照してください。
RNの呼び出し方法は次のとおりです。
tamodal.enableAutoTrack({
appID: "YOUR_APPID",
autoTrackType: {
appStart: true,
appEnd: true,
appCrash: true,
appInstall: true
}
});
# VI。SDK構成
# 6.1データ報告の一時停止/停止
iOS SDK v2.1.0では、SDKの報告を停止する機能が追加されました。
# 6.1.1 SDK報告の一時停止
ユーザーがテスト環境にいる場合や、ユーザーがテストアカウントにログインしている場合など、SDKのデータ収集と報告を一時的に停止したい場合は、次のインターフェイスを呼び出してSDKの報告を一時的に停止できます。
特定のインスタンス(メインインスタンスとライトインスタンスを含む)からenableTrackingを呼び出し、
を呼び出しfalse
SDKの報告を一時停止することができます。このインスタンスに設定された#distinct_id
、#account_id
、パブリックプロパティなどは保持されます。このインスタンスが収集したが、まだ報告に成功していないデータは引き続き報告しようとします。このインスタンスは新しいデータを収集して報告することはできません。ゲストID、アカウントID、パブリックプロパティなどを設定することはできませんが、このインスタンスはすでに設定された共通属性とデバイスID、ゲストID、アカウントIDなどの情報。
インスタンスの停止状態はローカルキャッシュに保存され、enableTracking、enableTracking
まで、SDKtrue
、SDKインスタンスはデータ収集と報告を再開します。ライトインスタンスはキャッシュされないため、APPを開くたびにライトインスタンスの一時停止状態は保持されず、報告を再開します。
// 暂停上报
tamodal.enableTracking({
appID: "YOUR_APPID",
enableTracking: false
});
// 恢复上报
tamodal.enableTracking({
appID: "YOUR_APPID",
enableTracking: true
});
# 6.1.2 SDK報告の停止(optOutTracking)
GDPRが適用される地域でユーザーがデータ収集権限を提供しないことを選択した場合、次のインターフェイスを呼び出してSDKを完全にシャットダウンする機能など、SDKの機能を完全に停止する必要がある場合があります。
optOutTracking
メインインスタンスからのみ呼び出すことができ、と
の最大の違いは、インスタンスのゲストID、アカウントID、パブリックプロパティ、レポートされていないデータキューなど、インスタンスのローカルキャッシュを空にすることです。その後、このインスタンスの収集と報告機能をオフにします。
tamodal.optOutTracking({ appID: "YOUR_APPID" });
SDK機能をオフにしている間にTAクラスタ内のユーザーデータを削除する場合は、optOutTrackingAndDeleteUserを呼び出し
て、SDKインスタンスの機能を停止する前にuserDel
データを報告してユーザーデータを削除します。
tamodal.optOutTrackingAndDeleteUser({ appID: "YOUR_APPID" });
インスタンスの停止状態もローカルキャッシュに保存され、optInTrackingが呼び出されるまで
、その後も報告を続けることができますが、この時点では新しいインスタンス
tamodal.optInTracking({ appID: "YOUR_APPID" });
# 6.2キャリブレーション時間
SDKはデフォルトでネイティブ時刻をイベント発生時刻として使用し、ユーザーが手動でデバイス時刻を変更するとビジネス分析に影響する場合、iOS SDK v2.5.0以降では、サービス側から取得した現在のタイムスタンプを使用してSDKの時刻を校正できます。その後、イベントデータやユーザー属性設定操作など、指定された時間の呼び出しはすべて、キャリブレーション後の時間を発生時間として使用します。
// 1585633785954 为当前 unix 时间戳,单位为毫秒,对应北京时间 2020-03-31 13:49:45
tamodal.calibrateTime({ timeStampMillis: 1585633785954 });
NTPから時間を取得してSDKを校正する機能も提供しています。ユーザーがアクセスできるNTPサーバーアドレスを渡す必要があります。その後、SDKは着信NTPサービスアドレスから現在の時刻を取得し、SDK時刻をキャリブレーションします。デフォルトのタイムアウト時間(3秒)以内に正しい結果が得られない場合、その後、ローカル時間を使用してデータを報告します。
// 使用苹果公司 NTP 服务对时间进行校准
tamodal.calibrateTimeWithNtp({ ntpServer: "time.apple.com" });
注意:
- NTPサーバーのアドレスを慎重に選択して、ネットワークの状態が良好な場合、ユーザーデバイスがすぐにサーバーに到達できるようにする必要があります。
- NTPサービスを使用した時間キャリブレーションには不確実性があります。
上記のキャリブレーションタイムインターフェイスに加えて、iOS SDK v2.5.0では、すべてのユーザープロパティインターフェイスのタイム関数オーバーロードが提供されています。ユーザープロパティに関連するインターフェイスを呼び出すと、Dateオブジェクトが渡され、渡されたDateオブジェクトを使用してデータの##time
フィールドを設定できます。
注:指定されたタイムゾーンでイベント時間を揃えると、デバイスのネイティブタイムゾーン情報が破棄されます。デバイスのネイティブタイムゾーン情報を保持する必要がある場合は、イベントに関連するプロパティを自分で追加する必要があります。
# チェンジログ
# v2.0.0 2020/06/06
- 新しいAPIインターフェース
- 複数インスタンスのサポート
- 自動収集イベントのサポート(新しいAPPインストールイベント、起動イベント、クローズイベント、クラッシュイベント)
- クライアントSDKのタイムキャリブレーション機能をサポート
- 新しいoptOutTracking/optInTrackingインターフェイス
- EnableTrackingインターフェイスが追加され、インスタンスのレポート機能
- サポートイベントとユーザー属性データの報告
- パブリックイベントプロパティのサポート