我正在参加本教程: https://code.tutsplus.com/tutorials/how-to-get-started-with-push-notifications-on-android--cms-25870
我在Mac上使用 Android Studio 2.3 Canary 2
但是当我编译时,我总是在NotificationsListenerService上得到这个错误:
Error:(7, 51) error: cannot find symbol class GCMListenerService
我尽可能地按照教程的说明进行操作。
我在项目的build.gradle中添加了最新版本的google-services:
classpath'com.google.gms:google-services:3.0.0'
build.gradle:http://pastebin.com/ZE4iqFxU
我在app的build.gradle中添加了最新版本的play-services:
编译'com.google.android.gms:play-services:10.0.0'
并且还应用了插件:
apply plugin: 'com.google.gms.google-services'
app / build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "25.0.1"
defaultConfig {
applicationId "com.ecaring.gcmtest"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
testCompile 'junit:junit:4.12'
compile 'com.google.android.gms:play-services-gcm:10.0.0'
}
apply plugin: 'com.google.gms.google-services'
清单:http://pastebin.com/ZpBNVsVi
我从Google下载了google-services.json文件并将其添加到我的应用目录
我从教程中创建了类:
每次更新Manifest。
错误:(7,51)错误:找不到符号类GCMListenerService
以下是有问题的文件: NotificationsListenerService.java:
public class NotificationsListenerService extends GCMListenerService {
}
我当时尝试添加一个import语句,但编辑说它将不会使用。
我做错了什么?
答案 0 :(得分:0)
首先,Google Cloud Messaging
deprecated支持Firebase Cloud Messaging
,因此现在使用FCM会更好。
至于你的问题,似乎tutsplus教程已经过时了。使用官方文档或旧版Google Play服务。
答案 1 :(得分:0)
首先要告知,Google Cloud Messaging已被弃用,支持Firebase云消息传递,因此最好现在使用FCM。但这次不容易实现第三方(api)发送推送通知很容易,就像GCM一样
FCM使用app的accessstoken和server key发送推送通知第三方api来创建firebase