You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cordova Android项目中修改MainApplication等文件集成Adobe SDK?

Cordova Android集成Adobe SDK 核心文件修改指南

前置操作

  • 确保已搭建好Cordova环境,创建并初始化Android项目:
    cordova create myAdobeApp com.example.myadobeapp MyAdobeApp
    cd myAdobeApp
    cordova platform add android
    
  • 下载Adobe对应SDK包(比如Analytics、Experience Platform扩展),放到platforms/android/app/libs目录(没有libs目录就手动新建)

1. 修改AndroidManifest.xml

路径:platforms/android/app/src/main/AndroidManifest.xml

  • 添加上网及网络状态权限(Adobe SDK基础需求):
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    
  • 在<application>标签内插入Adobe配置元数据(替换成你的官方配置ID):
    <meta-data
        android:name="com.adobe.marketing.mobile.launch.config.development"
        android:value="你的开发环境配置ID" />
    <meta-data
        android:name="com.adobe.marketing.mobile.launch.config.production"
        android:value="你的生产环境配置ID" />
    
  • 若SDK要求注册特定服务/Activity,同样在<application>内添加,比如:
    <service android:name="com.adobe.marketing.mobile.AnalyticsService" />
    

2. 修改MainApplication.java

路径:platforms/android/app/src/main/java/[你的包名]/MainApplication.java(包名对应你创建项目时的com.example.myadobeapp)

  • 导入Adobe核心类:
    import com.adobe.marketing.mobile.MobileCore;
    import com.adobe.marketing.mobile.Lifecycle;
    import com.adobe.marketing.mobile.Analytics;
    import java.util.Arrays;
    import android.util.Log;
    
  • 在onCreate()方法中初始化SDK(放在super.onCreate()之后):
    @Override
    public void onCreate() {
        super.onCreate();
        // 绑定应用实例到Adobe Core
        MobileCore.setApplication(this);
        // 用你的配置ID初始化
        MobileCore.configureWithAppID("你的全局配置ID");
        // 注册需要用到的Adobe扩展
        MobileCore.registerExtensions(
            Arrays.asList(Lifecycle.EXTENSION, Analytics.EXTENSION),
            o -> Log.d("AdobeInit", "扩展注册成功")
        );
    }
    
  • 可选:添加内存修剪时的SDK处理:
    @Override
    public void onTrimMemory(int level) {
        super.onTrimMemory(level);
        MobileCore.onTrimMemory(level);
    }
    

3. 修改MainActivity.java

路径:platforms/android/app/src/main/java/[你的包名]/MainActivity.java

  • 导入Lifecycle类:
    import com.adobe.marketing.mobile.Lifecycle;
    import com.adobe.marketing.mobile.MobileCore;
    import java.util.HashMap;
    
  • 重写生命周期方法,绑定Adobe的Lifecycle跟踪:
    @Override
    protected void onResume() {
        super.onResume();
        Lifecycle.start(null);
    }
    
    @Override
    protected void onPause() {
        super.onPause();
        Lifecycle.pause();
    }
    
  • 可选:在页面加载完成后发送自定义事件(比如首页浏览):
    // 可放在onPageFinished()或合适的位置
    HashMap<String, String> pageData = new HashMap<>();
    pageData.put("page_category", "首页");
    MobileCore.trackState("首页", pageData);
    

关键注意事项

  • 每次执行cordova prepare android或重新添加Android平台时,手动修改的文件会被覆盖,建议把这些逻辑封装成自定义Cordova插件,或者使用现成的cordova-plugin-adobe-marketing-cloud插件(如果满足需求)
  • 确保SDK包被正确引入,在platforms/android/app/build.gradle的dependencies块中添加:
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
    
  • 测试前用Android Studio打开platforms/android目录,检查编译错误,再执行cordova run android调试

内容的提问来源于stack exchange,提问作者Yus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 10:05:22