ユーザー属性
ユーザー属性設定画面の表示
属性配信をご利用になる場合で、任意のタイミングでユーザー自身が属性を設定する画面を呼び出す場合は、次のメソッドを呼び出します。
// 表示できた場合はtrue、ユーザー登録未完了などで表示できなかった場合はfalseを返します。
boolean ret = PopinfoUiUtils.showSegmentSettings(this); // this はContext
Warning
アプリが privacyControl を使用していて、ユーザーがプライバシーポリシー許諾に同意していない状態でユーザー属性画面を開いた場合、通信失敗時と同じ表示となりユーザー属性設定画面の内容が表示されません。
ユーザー属性設定画面の種類
ユーザー属性設定画面には2種類の画面があります。
- WebViewで表示するユーザー属性設定画面
- ネイティブで表示するユーザー属性設定画面
アプリでネイティブのユーザー属性設定画面を利用する場合、アプリのAndroidManifest.xmlに以下のように設定項目を追記します。(設定がない場合はWebViewのユーザー属性設定画面が表示されます。)
<meta-data
android:name="POPINFO_USES_V2_SEGMENT_SETTINGS"
android:value="true"/>
ユーザー属性の変更
属性配信をご利用になる場合で、ソースコードから直接ユーザー属性を変更する場合は、次のメソッドを呼び出します。
使用可能なカテゴリ ID、属性 ID につきましては、配信管理画面からご確認ください。
また、このメソッドは内部で同期通信を行います。メインスレッドをブロックしますので、バックグラウンドで呼び出す等、適宜ご配慮ください。
// 成功時はtrue、失敗時はfalseを返します。またthisはContextになります。
// 属性を設定します。
boolean ret = PopinfoUtils.setSegments(getApplicationContext(),
new HashMap<String, String[]>() {
{
put("カテゴリID", new String[]{"属性ID"});
put("カテゴリID", new String[]{"属性ID", "属性ID"});
}
});
// 属性を解除します。
boolean ret = PopinfoUtils.setSegments(getApplicationContext(),
new HashMap<String, String[]>() {
{
put("カテゴリID", new String[]{});
put("カテゴリID", new String[]{});
}
});
Warning
FANSHIP SDK ver.7.2.0 より、属性の設定・解除を一括で行えるようになりました。
以前の 1つずつ設定する方法(PopinfoUtils.setSegments(Context, String, String[]))は非推奨となるため、利用している場合は一括の方法に変更してください。
ユーザー属性の取得
属性配信をご利用になる場合で、ソースコードから設定されているユーザー属性の値や情報を取得する場合は、次のメソッドを呼び出します。
// this はContextになります。
// ユーザーが設定したユーザー属性の値や情報を取得します。
ArrayList<HashMap<String, String>> PopinfoUtils.getSegments(this);
// 利用中でないユーザー属性の情報も含めて取得します。
ArrayList<HashMap<String, String>> PopinfoUtils.getSegmentsAll(this);
/*
※取得したMap値は以下を参考にご使用ください。
key_id – カテゴリID
key_name - カテゴリ名
value_id – 属性ID
value_name – 属性名
is_default – 属性のデフォルト値
is_set – 属性を利用中かどうか
is_multiple - 複数選択をできる属性かどうか
is_visible - 画面表示対象の属性かどうか
*/