我尝试按照教程进行操作:将通知推送到 Xamarin.Android (iOS部分已经工作(
但是我在构建时收到以下错误:
">ProcessGoogleServicesJson"任务没有为所需参数"ResStringsPath"提供值。 ServiceToolStandard.Android
到目前为止,我拥有的:
- 我创建了一个火力基地项目
- FirebaseConsole:
- 下载了Google-Services.json文件
- 复制了旧版服务器密钥
- 天蓝色:
- 已创建通知中心
- 插入了旧服务器密钥
- Xamarin Forms App (Android(:
- 安卓清单包名称 == 包名火碱项目
- 我安装了nuget软件包:Xamarin.GooglePlayServices.Base,Xamarin.Firebase.Messaging 和Xamarin.Azure.NotificationHubs.Android
- 将 google-services.json 文件添加到项目中,并选择了 GoogleServiceJson 的构建操作
- 将接收方部分添加到安卓清单*
- 然后创建了类 Constants、MyFirebaseIIDService、MyFirebaseMessagingService 并编辑了 MainActivity
之后,教程说"构建您的项目/运行您的应用程序......",我收到错误。
*在这里我不太确定在${applicationId}中填写什么:
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>
感谢您的帮助!
所以我不太确定为什么我得到这个错误。但是在将Visual Studio从v15.7.1更新到v15.7.2后,错误消失了。可能是,重新启动视觉工作室是解决方案?在教程中,它说您必须重新启动与如果您无法选择构建操作"GoogleServiceJson"。也许无论如何您都必须重新启动它。
对于android:name="${applicationId}",我使用了与AndroidManifest中"manifest"行中的"package"相同的方法。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="3" android:versionName="1.2" package="com.xxxxx.ServiceToolStandard" android:installLocation="auto">
[...]
<application android:label="ServiceToolStandard" android:icon="@drawable/icon">
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" android:exported="false" />
<receiver android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.xxxxx.ServiceToolStandard" />
</intent-filter>
</receiver>
</application>
现在,我可以构建并运行该应用程序了。此外,来自 Azure 的推送通知 - "测试发送"也已正确接收。