WindVane または uni-app のミニアプリコンテナをネイティブアプリに統合した後、ランタイムでログイン中のユーザーをコンテナに関連付けます。
ミニアプリコンテナは、ユーザー情報、特に UserId を使用して、次のタスクを実行します:
ユーザーがデバイス権限を持っているかどうかを検証します。
SDK がアカウントの切り替え後にユーザーの変更を検出したときに、WindVane ミニアプリのクッキーを自動的にクリアします。
レポートプラグインが必要なデータレポート (ページビュー (PV) やユニークビジター (UV) など) を送信します。
オープンアプリケーションプラットフォームでミニアプリのホワイトリストベースのカナリアリリース機能を使用します。
ユーザーの関連付け
ホワイトリストベースのカナリアリリース機能と WindVane ミニアプリのクッキー自動クリア機能を有効にするには、次の API を呼び出してユーザーを関連付けます:
ServiceManager.getInstance().registerService(IUserInfoService.class.getName(), new IUserInfoService() {
@Override
public UserInfo getUserInfo() {
// ログインステータスに基づいて UserInfo を返します。 ユーザーがログインしていない場合は null を返します。
UserInfo userInfo = new UserInfo();
userInfo.setUserId(userId);
return userInfo;
}
});デバイス権限の確認
private boolean isAuthorized() {
IUserInfoService userInfoService = ServiceManager.getInstance()
.getService(IUserInfoService.class.getName());
// ...
UserInfo userInfo = userInfoService.getUserInfo();
// ...
return AuthorizationManagement
.getInstance(mContext)
.isAuthorized(innerScope, userInfo.getUserId(), appId);
}
クッキーのクリア
private void clearMiniAppCookies(...) {
IUserInfoService userInfoService = ServiceManager.getInstance()
.getService(IUserInfoService.class.getName());
// ...
UserInfo userInfo = userInfoService.getUserInfo();
// ...
if (isDifferentUser(userInfo.getUserId())) {
clearCookie();
}
}
データレポート
private void reportData(...) {
IUserInfoService userInfoService = ServiceManager.getInstance()
.getService(IUserInfoService.class.getName());
// ...
UserInfo userInfo = userInfoService.getUserInfo();
// ...
report(userInfo.getUserId());
}