# Android SDK Weexフレームワークサポート
このガイドでは、WeexでAndroid SDKの機能を使用する方法について説明します。
最新バージョンバージョン: 2.0.0
更新時間は: 2020-06-06
# I.統合SDK
# 1.1統合Android SDKとWeexサポートテキスト
Android SDKの統合Android SDKAndroid SDK使用ガイド
Android SDKの統合が完了したら、ここをクリックし (opens new window)Weexサポートテキストをダウンロードし、解凍してWeexThinkingDataAnalyticsModule.java
テキストをプロジェクトプロジェクトに追加
テキストの追加が完了したら、ApplicationのonCreateメソッドにWeexThinkingDataAnalyticsModuleモジュール
try {
WXSDKEngine.registerModule("WeexThinkingDataAnalyticsModule", WeexThinkingDataAnalyticsModule.class);
} catch (WXException e) {
e.printStackTrace();
}
また、Android SDKはAndroidM
変更することができ、通常、デフォルト設定を使用すればよい。Log機能を開くことができます。
アップロードするネットワーク条件を設定します。デフォルトでは、SDKは3G、4G、Wifiでデータをアップロードするネットワーク条件を設定します
setNetworkTypeメソッドを使用してアップロードを許可するネットワーク条件を変更できます。
Android SDK v2.3.0以降、SDKは自己ビザの本を設定することができます。
Android SDKはv2.3.0以降、クライアントSDKはDebugモードをサポートしています。
Android SDKはバージョン2.3.1以降、デフォルトのタイムゾーンの設定をサポートしており、必要に応じて構成できます。
を参照してAndroid SDK使用ガイド
# 1.2 JSテキストでのモジュールの取得
具体的に使用するJSテキストに以下のコードを追加してください:
var tamodal = weex.requireModule("WeexThinkingDataAnalyticsModule");
# 1.3 WeexでのSDK機能の使用
インポートが完了したら、RNでSDK機能
# 二、ユーザーIDを設定する
# 2.1ゲストIDの設定(オプション)
アプリがユーザーごとに独自のゲストID管理システムを持っている場合は、identify
を呼び出してゲスト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を上書きします。
この方法では、ユーザーがログインしたイベントはアップロードされません
# 2.3アカウントIDのクリア
ユーザーがログアウトした後、ログアウト
てアカウントIDをクリアできます
。次回ログインする前に、ゲストIDをIDとして使用します
tamodal.logout({ appID: "YOUR_APPID" });
ユーザーがアカウントをキャンセルした場合など、明示的なログアウトイベント時にログアウト
ログアウトを呼び出すことをお勧めします。
この方法では、ユーザーが登録したイベントはアップロードされません
# 三、事件を送る
# 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
はイベントのイベント名で、プロパティ
はイベントのすべての属性で、Android SDK v2.2.0でイベントトリガー時間とタイムシフトを設定するメソッドオーバーロードが追加され、着信time
型のパラメータをサポートしてイベントトリガー時間を設定し、timeZone
でタイムシフトを設定します。このパラメーターを渡さないと、track
呼び出されたときのネイティブ時刻とオフセットがイベントトリガー時刻およびタイムゾーンオフセットとして取得されます。
注意:イベントはトリガー時間を設定できますが、受信側は次のような制限をして、相対サーバー時間の10日前から3日後までのデータしか受信しません。期限を超えたデータは異常データとみなされ、データ全体が入庫できません。
Android SDK v2.3.1以降、SDKのデフォルトのタイムゾーンを設定することで、複数のタイムゾーンでのイベント時間を揃えることができます。Android SDK使用ガイド設定してください。Android SDK v2.5.0以降では、SDKタイムインターフェイスのキャリブレーションを使用して、サービス側の時間を使用してデータ収集を一元的に完了できますキャリブレーションタイムのセクション。
# 3.2パブリックイベントプロパティの設定
ユーザーのメンバーシップレベル、ソースチャネルなどの重要なプロパティは、イベントごとに設定する必要があります。共通イベントプロパティとは、各イベントに含まれるプロパティのことです。setSuperPropertiesを呼び出して
共通イベントプロパティを設定できます。イベントを送信する前に、共通イベントプロパティを設定することをお勧めします。
パブリックイベントプロパティのフォーマット要件は、イベントプロパティと一致します。
tamodal.setSuperProperties({
appID: "YOUR_APPID",
properties: { superKey: 1, superKey2: "value" }
});
必要がある場合は、unsetSuperProperty``呼び出して指定されたパブリックイベントプロパティをクリアできます
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に設定されたタイミングでAndroid SDKがアップロードした対応イベントを記録でき、同様にAndroid SDKに設定されたタイミングでRNにアップロードした対応イベント
# 四、ユーザー属性
TAプラットフォームで現在サポートされているユーザープロパティ設定インターフェイスはuserSet
、userSetOnce
、userAdd
、userUnset
、userDel
とuserAppendです
# 4.1ユーザーセット
一般的なユーザープロパティの場合は、userSet
を呼び出して設定できます。このインターフェイスを使用してアップロードされたプロパティは、元のプロパティ値を上書きします。以前にユーザープロパティが存在しなかった場合は、新しいユーザープロパティが作成されます。ユーザー名の設定の例として、受信プロパティのタイプと一致します。
tamodal.userSet({
appID: "YOUR_APPID",
properties: { usersetkey: 2, usersetkey2: "usersetvalue" }
});
userSet設定のユーザープロパティ形式は、イベントプロパティと一致する必要があります。
# 4.2ユーザーSetOnce
アップロードするユーザープロパティが一度設定されている場合は、userSetOnceを呼び出して
設定することができます。このプロパティに以前に値がある場合、この情報は無視されます。たとえば、最初の支払い時間を設定します
tamodal.userSetOnce({
appID: "YOUR_APPID",
properties: { name: "yea" }
});
userSetOnce設定のユーザープロパティの書式設定は、イベントプロパティと一致する必要があります。
# 4.3 userAdd
数値型のプロパティをアップロードするときは、userAddを呼び出しuserAdd
て、プロパティを累積的に操作できます。プロパティが設定されていない場合は、0を割り当ててから計算します。負の値を渡すことができます。減算操作と同じです。ここでは累積支払い額を例にとる
tamodal.userAdd({
appID: "YOUR_APPID",
properties: { age: 1 }
});
userAdd設定のプロパティの型とKey値の制限はuserSetと一致しますが、ValueではNumber型のみが許可されます。
# 4.4 userUnset
ユーザーのユーザープロパティ値を空にする場合は、userUnset
を呼び出して指定されたプロパティを空にすることができは
は作成されません
tamodal.userUnset({
appID: "YOUR_APPID",
properties: "usersetkey"
});
userUnset渡されたパラメーターはユーザープロパティのプロパティ名で、型は文字列または文字列の配列で、可変長パラメーターの形式をサポートします。
# 4.5ユーザーデル
を削除する場合は、userDelを呼び出しuserDel
て削除できます。ユーザーのユーザー属性を照会することはできませんが、ユーザーが生成したイベントを照会することはできます。
tamodal.userDel({ appID: "YOUR_APPID" });
# 4.6ユーザー追加
Android SDK v2.4.0からuserAppendを呼び出して
Arrayタイプのユーザープロパティを追加できます。
tamodal.userAppend({
appID: "YOUR_APPID",
properties: { keyArr: ["age", "2"] }
});
# V.自動収集イベント
自動取得機能を使用するには、自動取得機能の関連する依存関係を統合し、依存コードを追加
自動収集イベントの具体的な使い方については、Android SDK自動収集ガイド章を参照してください。
RNの呼び出し方法は次のとおりです。
tamodal.enableAutoTrack({
appID: "YOUR_APPID",
autoTrackType: {
appStart: true,
appEnd: true,
appCrash: true,
appInstall: true
}
});
# VI。SDK構成
# 6.1データ報告の一時停止/停止
Android SDK v2.1.0では、SDKインスタンスの報告を停止する機能が追加され、SDKインスタンスの報告を停止するインターフェイスが2種類あります
# 6.1.1 SDK報告の一時停止
ユーザーがテスト環境にいる場合や、ユーザーがテストアカウントにログインしている場合など、データ収集と報告を一時的に停止したい場合は、次のインターフェイスを呼び出してSDKインスタンスの報告を一時的に停止できます。
を呼び出すとEnableTracking
、false
を呼び出すと、SDKインスタンスの#distinct_id
、#account_id
、パブリックプロパティなどが保持されます設定された共通属性とデバイスID、ゲストID、アカウントIDなどの情報。
インスタンスの停止状態はローカルキャッシュに保存され、enableTrackingが呼び出される
まで、true
、SDKインスタンスはデータ収集と報告を再開します。ライトインスタンスはキャッシュされないため、アプリを開くたびにライトインスタンスの一時停止状態は保持されず、報告を再開します。
// 暂停上报
tamodal.enableTracking({
appID: "YOUR_APPID",
enableTracking: false
});
// 恢复上报
tamodal.enableTracking({
appID: "YOUR_APPID",
enableTracking: true
});
# 6.1.2 SDK報告の停止(optOutTracking)
たとえば、GDPRが適用される地域でユーザーがデータ収集権限を提供しないことを選択した場合、次のインターフェイスを呼び出してSDKインスタンスを完全にシャットダウンできます。
optOutTracking
メインインスタンスからのみ呼び出すことができ、enableTracking
との最大の違いは、インスタンスのゲスト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はデフォルトでイベント発生時刻としてネイティブ時刻を使用し、ユーザーが手動でデバイス時刻を変更するとビジネス分析に影響する場合、Android 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サービスを使用した時間キャリブレーションには不確実性があります。
上記のキャリブレーションタイムインターフェイスに加えて、Android SDK v2.5.0では、すべてのユーザープロパティインターフェイスのタイム関数オーバーロードが提供されています。ユーザープロパティ関連インターフェイスを呼び出すと、Dateオブジェクトが渡され、渡されたDateオブジェクトを使用してデータの##time
フィールドを設定できます。
# チェンジログ
# v2.0.0 2020/06/06
- 新しいAPIインターフェース
- マルチインスタンスのサポート
- 自動収集イベントのサポート(新しいAPPインストールイベント、起動イベント、クローズイベント、クラッシュイベント)
- クライアントSDKのタイムキャリブレーション機能をサポート
- 新しいoptOutTracking/optInTrackingインターフェイス
- enableTrackingインターフェイスを追加し、インスタンスの報告機能
- サポートイベントとユーザー属性データの報告
- パブリックイベントプロパティのサポート