针对 Adobe Experience SDK 的 Adjust Android Extension 发送的安装数据为 Adjust 所接收后,设备就会被归因至安装来源。如果针对用户进行了再营销,或用户与其他推广活动进行了交互,那么该归因信息就可能会发生变化。
您可以配置回传函数来响应归因变更。Adjust 收到新的归因信息后,会异步将数据发送回设备。回传函数会以参数形式接收设备的归因数据。
请参阅 Adjust 的归因数据政策,进一步了解归因数据。
参考
要设置回传函数以监听归因变化,请使用以下参数调用 AdjustAdobeExtensionConfig 实例的 setOnAttributionChangedListener 方法:
onAttributionChangedListener:OnAttributionChangedListener- 
该函数会返回
void,并以序列化 JSON 对象的形式接收设备归因信息。 
教程:创建归因回传
要配置归因回传,您需要创建一个函数,并将其指定给 AdjustAdobeExtensionConfig 实例。参阅本教程,您将以集成指南中的 MainApp.java 为基础,添加一个 onAttributionChanged 回传函数,并通过该函数将用户的归因信息以字符串形式输出,记录在日志中。最终结果将如下:
import android.app.Application;import android.util.Log;
import com.adjust.adobeextension.AdjustAdobeExtension;import com.adjust.adobeextension.AdjustAdobeExtensionConfig;import com.adobe.marketing.mobile.AdobeCallback;import com.adobe.marketing.mobile.Extension;import com.adobe.marketing.mobile.Analytics;import com.adobe.marketing.mobile.Identity;import com.adobe.marketing.mobile.LoggingMode;import com.adobe.marketing.mobile.MobileCore;
public class MainApp extends Application {    @Override    public void onCreate() {        super.onCreate();
        MobileCore.setApplication(this);        MobileCore.setLogLevel(LoggingMode.VERBOSE);
        try {            MobileCore.configureWithAppID("your_adobe_app_id");
            AdjustAdobeExtensionConfig config =                new AdjustAdobeExtensionConfig(AdjustAdobeExtensionConfig.ENVIRONMENT_SANDBOX);            config.setOnAttributionChangedListener(new OnAttributionChangedListener() {                @Override                public void onAttributionChanged(AdjustAttribution adjustAttribution) {                    Log.d("example", "Attribution information updated");                    Log.d("example", "Attribution: " + attribution.toString());                }            });            AdjustAdobeExtension.setConfiguration(config);        } catch (Exception e) {            Log.e("example", "Exception occurred during configuration: " + e.getMessage());        }
        try {            List<Class<? extends Extension>> extensions = Arrays.asList(                Analytics.EXTENSION,                Identity.EXTENSION,                AdjustAdobeExtension.EXTENSION);            MobileCore.registerExtensions(extensions, new AdobeCallback<object>() {                @Override                public void call(Object o) {                Log.d("example", "Adjust Adobe Extension SDK initialized");                }            });        } catch (Exception e) {            Log.e("example", "Exception occurred while registering Extension: " + e.getMessage());        }    }}您需要进行下列操作:
- 在 
try...catch块中调用AdjustAdobeExtensionConfig实例的setOnAttributionChangedListener方法。以参数形式传送OnAttributionChangedListener实例。 
try {    MobileCore.configureWithAppID("your_adobe_app_id");
    AdjustAdobeExtensionConfig config =        new AdjustAdobeExtensionConfig(AdjustAdobeExtensionConfig.ENVIRONMENT_SANDBOX);    config.setOnAttributionChangedListener(new OnAttributionChangedListener() {});    AdjustAdobeExtension.setConfiguration(config);} catch (Exception e) {    Log.e("example", "Exception occurred during configuration: " + e.getMessage());}- 在 
setOnAttributionChangedListener声明中,创建一个名为onAttributionChanged的新公共函数。该方法采用AdjustAttribution参数并返回void。 
config.setOnAttributionChangedListener(new OnAttributionChangedListener() {    @Override    public void onAttributionChanged(AdjustAttribution adjustAttribution) {}});- 在 
onAttributionChanged函数正文中将AdjustAttribution对象转换为字符串,以进行记录。 
config.setOnAttributionChangedListener(new OnAttributionChangedListener() {    @Override    public void onAttributionChanged(AdjustAttribution adjustAttribution) {        Log.d("example", "Attribution information updated");        Log.d("example", "Attribution: " + attribution.toString());    }});完成了!用户归因信息发生变更时,回传函数会将更新后的归因信息写入系统日志。