繁体   English   中英

Delphi - Google Play上的新应用必须定位到Android 8(API级别26) - 后台的PUSH通知

[英]Delphi - New apps on Google Play must target Android 8 (API level 26) - PUSH notification in background

从2018年8月起,Google Play上的所有新应用都必须定位到Android 8(API级别26)或更高级别,从2018年11月起,Google Play上的所有应用更新都必须使用Google Play上的相同应用。

现在,你必须上传一个面向Android 8的新应用程序的唯一方法是编辑文件AndroidManifest.template.xml并将targetSdkVersion =“%targetSdkVersion%”替换为:Android:targetSdkVersion =“26”

问题是,从那一刻起,应用程序就有了Android O引入的限制。被认为是危险的权限(相机,位置,短信......)不会被仅仅通过将它们包含在AndroidManifest中的事实授予应用程序文件。 再见相机,GPS,......

在此Web中,您可以按照几个简单的步骤开始向用户请求权限: http//delphiworlds.com/2018/05/targeting-android-8-and-higher/

但是,目标Android 8有更多的含义。 我的应用程序,因为仅将应用程序未运行(或在后台运行)时将targetSDKVersion从25更改为26的事实不会收到推送通知。

我的测试很简单:我更改了targetSDK,它不再起作用了。 我回放它再次运行,无论是应用程序运行还是应用程序在后台或关闭。

关键是TARGETSDKVERSION的更改,因为我一直尝试在SDK Manager中选择SDK 24.3.3。

我认为其中一个主要原因是Android O中背景服务的消失,正如他们在https://blog.klinkerapps.com/android-o-background-services/中解释的那样但我不确定。

我的大问题。

我刚刚将Google 7(Level 25)应用程序上传到Google Play。 问题是,截至2018年11月,如果我没有将TARGETSDKVERSION更改为26级,我将无法上传更新。但如果我这样做...我将停止接收PUSH通知,并且没有PUSH通知,我的应用程序不工作为了任何东西。

我承认我对此有点害怕

对不起我的英语。

非常感谢你。

您必须确保您的通知是高优先级,FCM将立即发布

FCM尝试立即传递高优先级消息,允许FCM服务在必要时唤醒休眠设备并运行一些有限的处理(包括非常有限的网络访问)。 高优先级消息通常会导致用户与您的应用互动。 如果FCM检测到他们没有的模式,则可能会对您的消息进行去优先级排序

如果您的用户与notifcaiton FCM进行交互,则不会延迟。 在Android O中的某些情况下可能不允许使用后台服务,但这并不意味着您无法发送通知

如果您不使用通知渠道,也不会显示您的通知。您可以使用此代码创建通知渠道

public void initChannels(Context context) {
if (Build.VERSION.SDK_INT < 26) {
    return;
}
NotificationManager notificationManager =
        (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
NotificationChannel channel = new NotificationChannel("default",
                                                      "Channel name",
                                                      NotificationManager.IMPORTANCE_DEFAULT);
channel.setDescription("Channel description");
notificationManager.createNotificationChannel(channel);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM