问题1:EMAS中如何在一个工程下集成多个 aliyun-emas-services.json 文件?就是会根据环境注册多个app,每个app都会产生一个 aliyun-emas-services.json 文件。firebase会把所有 app的信息全部整合到一个文件里,但我看阿里云不会这样做,那应该怎么处理呢?
问题2:请问有示例代码吗?谢谢
具体而言,您可以为每个应用程序指定不同的applicationId以及对应的aliyun-emas-services.json文件。在应用程序启动时,根据当前应用程序的applicationId去读取相应的配置文件。您可以在AndroidManifest.xml文件中添加多个application并配置不同的applicationId和aliyun-emas-services.json文件路径。例如:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<uses-permission android:name="android.permission.INTERNET" />
<application android:name=".MyApplication1"
android:label="My Application 1"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme1">
<meta-data
android:name="com.alibaba.app.appkey"
android:value="@string/ALIYUN_APPKEY_1" />
<meta-data
android:name="com.alibaba.app.secret"
android:value="@string/ALIYUN_APPSECRET_1" />
<meta-data
android:name="com.alibaba.appchannel"
android:value="@string/ALIYUN_APPCHANNEL_1" />
<meta-data
android:name="com.alibaba.app.package.name"
android:value="@string/ALIYUN_PACKAGENAME_1" />
</application>
<application android:name=".MyApplication2"
android:label="My Application 2"
android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme2">
<meta-data
android:name="com.alibaba.app.appkey"
android:value="@string/ALIYUN_APPKEY_2" />
<meta-data
android:name="com.alibaba.app.secret"
android:value="@string/ALIYUN_APPSECRET_2" />
<meta-data
android:name="com.alibaba.appchannel"
android:value="@string/ALIYUN_APPCHANNEL_2" />
<meta-data
android:name="com.alibaba.app.package.name"
android:value="@string/ALIYUN_PACKAGENAME_2" />
</application>
</manifest>
不过,以下是一个简单的示例,展示了如何通过EMAS发送一条自定义消息:
import com.alibaba.sdk.android.push.AndroidPopupActivity;
import com.alibaba.sdk.android.push.notification.CPushMessage;
public class DemoActivity extends AndroidPopupActivity {
@Override
protected void onStart() {
super.onStart();
// 获取消息
CPushMessage message = getIntent().getParcelableExtra("message");
// 发送自定义消息
PushServiceFactory.getCloudPushService().send(
ByteArray.fromString("Hello World"),
"MyTopic",
new PushCallback() {
@Override
public void onResult(PushResult result) {
// 处理推送结果
}
@Override
public void onError(Throwable t) {
// 处理推送错误
}
}
);
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。