All Products
Search
Document Center

SuperApp:Asosiasikan pengguna

Last Updated:Apr 23, 2026

Setelah mengintegrasikan kontainer miniapp WindVane atau uni-app ke dalam aplikasi native Anda, asosiasikan pengguna yang telah login dengan kontainer tersebut pada waktu proses.

Kontainer miniapp menggunakan informasi pengguna, khususnya UserId, untuk tugas-tugas berikut:

  1. Memverifikasi apakah pengguna memiliki otorisasi perangkat.

  2. Secara otomatis menghapus cookie untuk miniapp WindVane ketika SDK mendeteksi pergantian akun pengguna.

  3. Mengirimkan laporan data (seperti Tampilan Halaman (PV) dan Pengunjung Unik (UV)), yang memerlukan plugin pelaporan.

  4. Menggunakan fitur rilis canary berbasis daftar putih untuk miniapp Anda di platform aplikasi terbuka.

Asosiasikan pengguna

Untuk mengaktifkan fitur rilis canary berbasis daftar putih dan penghapusan cookie otomatis untuk miniapp WindVane, panggil API berikut untuk mengasosiasikan pengguna:

ServiceManager.getInstance().registerService(IUserInfoService.class.getName(), new IUserInfoService() {
@Override
public UserInfo getUserInfo() {
     // Mengembalikan UserInfo berdasarkan status login. Mengembalikan null jika tidak ada pengguna yang login.
     UserInfo userInfo = new UserInfo();
     userInfo.setUserId(userId);
     return userInfo;
    }
});

Periksa otorisasi perangkat

private boolean isAuthorized() {
  IUserInfoService userInfoService = ServiceManager.getInstance()
      .getService(IUserInfoService.class.getName());
      
  // ...    
  
  UserInfo userInfo = userInfoService.getUserInfo();
  
  // ...
  
  return AuthorizationManagement
      .getInstance(mContext)
      .isAuthorized(innerScope, userInfo.getUserId(), appId);
}
  

Hapus cookie

private void clearMiniAppCookies(...) {

  IUserInfoService userInfoService = ServiceManager.getInstance()
    .getService(IUserInfoService.class.getName());
      
  // ...    
  
  UserInfo userInfo = userInfoService.getUserInfo();
  
  // ...

  if (isDifferentUser(userInfo.getUserId())) {
      clearCookie();
  }
}
  

Laporkan data

private void reportData(...) {

  IUserInfoService userInfoService = ServiceManager.getInstance()
    .getService(IUserInfoService.class.getName());
      
  // ...    
  
  UserInfo userInfo = userInfoService.getUserInfo();
  
  // ...

  report(userInfo.getUserId());
}