OneSignal:推送通知不起作用
OneSignal: push notification doesn't work
我有这个应用程序,我想从我的管理面板发送推送通知。我认为我做的一切都很好,但 OneSignal 仅在我将其安装到我的模拟器中时检测到我的应用程序已安装,但是当我在我的 phone 上安装 apk 时,它没有检测到。我有一个 android 10 phone。这是我的文件:
build.cradle(应用):
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.8, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
repositories {
maven { url 'https://maven.google.com' }
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId 'ga.nabukoapps.materialwallpaper'
manifestPlaceholders = [onesignal_app_id: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "REMOTE"]
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName '1.0'
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
useLibrary 'org.apache.http.legacy'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0'
implementation 'com.google.android.gms:play-services-ads:19.3.0'
implementation 'com.google.android.ads.consent:consent-library:1.0.8'
implementation 'com.balysv:material-ripple:1.0.2'
//noinspection GradleDependency
implementation 'com.onesignal:OneSignal:[3.15.0, 3.99.99]'
//implementation 'com.onesignal:OneSignal:3.11.2'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
implementation 'com.bogdwellers:pinchtozoom:0.1'
implementation 'com.github.clans:fab:1.6.4'
implementation 'com.karumi:dexter:4.2.0'
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'com.beloo.widget:ChipsLayoutManager:0.3.7@aar'
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'commons-io:commons-io:2.4'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.google.firebase:firebase-analytics:17.5.0'
}
apply plugin: 'com.google.gms.google-services'
build.cradle(项目):
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.google.gms:google-services:4.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
我从未使用过 OneSignal,但出现此问题的原因之一是推送正在寻找的 应用程序包名称 不同。也许你可以专注于此。
在上面的link中,有一部分build.gradle(应用程序级别)文件可以作为参考。它提到在 manifestPlaceholders 区域中添加 manifestApplicationId 键和您的应用程序包名称作为值,如下所示:
release {
defaultConfig {
manifestPlaceholders = [manifestApplicationId : "${applicationId}",
onesignal_app_id : "22222222-2222-2222-2222-222222222222",
onesignal_google_project_number: "222222222"]
}
}
p.s。如果您没有使用任何口味,也许您应该从您的代码中删除这部分:
productFlavors {
}
我知道它不会帮助你使用 OneSignal ,但在 android 中处理通知的最佳方法是使用 Firebase Cloud Messaging ,因为它属于 Google .
,所以它有更好的 google-services 兼容性
设置 Firebase 云消息传递需要几个小时。
自己回答。我这边的一切都做得很好,但我想问题出在我的 phone 上。我在某处读到,当我从 Play 商店安装应用程序时,这不会成为问题。另外,我的模拟器图像不好。我安装了一个新的,我认为是 Pixel 3a,它在其中运行良好。感谢所有试图提供帮助的人。
我有这个应用程序,我想从我的管理面板发送推送通知。我认为我做的一切都很好,但 OneSignal 仅在我将其安装到我的模拟器中时检测到我的应用程序已安装,但是当我在我的 phone 上安装 apk 时,它没有检测到。我有一个 android 10 phone。这是我的文件:
build.cradle(应用):
buildscript {
repositories {
maven { url 'https://plugins.gradle.org/m2/'}
}
dependencies {
classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:[0.12.8, 0.99.99]'
}
}
apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
repositories {
maven { url 'https://maven.google.com' }
}
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
defaultConfig {
applicationId 'ga.nabukoapps.materialwallpaper'
manifestPlaceholders = [onesignal_app_id: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
// Project number pulled from dashboard, local value is ignored.
onesignal_google_project_number: "REMOTE"]
minSdkVersion 16
targetSdkVersion 29
versionCode 1
versionName '1.0'
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
useLibrary 'org.apache.http.legacy'
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0'
implementation 'com.google.android.gms:play-services-ads:19.3.0'
implementation 'com.google.android.ads.consent:consent-library:1.0.8'
implementation 'com.balysv:material-ripple:1.0.2'
//noinspection GradleDependency
implementation 'com.onesignal:OneSignal:[3.15.0, 3.99.99]'
//implementation 'com.onesignal:OneSignal:3.11.2'
implementation 'com.theartofdev.edmodo:android-image-cropper:2.7.0'
implementation 'com.bogdwellers:pinchtozoom:0.1'
implementation 'com.github.clans:fab:1.6.4'
implementation 'com.karumi:dexter:4.2.0'
implementation 'com.github.chrisbanes:PhotoView:2.1.4'
implementation 'com.beloo.widget:ChipsLayoutManager:0.3.7@aar'
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
implementation 'commons-io:commons-io:2.4'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.google.firebase:firebase-analytics:17.5.0'
}
apply plugin: 'com.google.gms.google-services'
build.cradle(项目):
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.google.gms:google-services:4.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
}
}
我从未使用过 OneSignal,但出现此问题的原因之一是推送正在寻找的 应用程序包名称 不同。也许你可以专注于此。
在上面的link中,有一部分build.gradle(应用程序级别)文件可以作为参考。它提到在 manifestPlaceholders 区域中添加 manifestApplicationId 键和您的应用程序包名称作为值,如下所示:
release {
defaultConfig {
manifestPlaceholders = [manifestApplicationId : "${applicationId}",
onesignal_app_id : "22222222-2222-2222-2222-222222222222",
onesignal_google_project_number: "222222222"]
}
}
p.s。如果您没有使用任何口味,也许您应该从您的代码中删除这部分:
productFlavors {
}
我知道它不会帮助你使用 OneSignal ,但在 android 中处理通知的最佳方法是使用 Firebase Cloud Messaging ,因为它属于 Google .
,所以它有更好的 google-services 兼容性设置 Firebase 云消息传递需要几个小时。
自己回答。我这边的一切都做得很好,但我想问题出在我的 phone 上。我在某处读到,当我从 Play 商店安装应用程序时,这不会成为问题。另外,我的模拟器图像不好。我安装了一个新的,我认为是 Pixel 3a,它在其中运行良好。感谢所有试图提供帮助的人。