javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

iOS Push Notification Banner一次显示两次

我注意到发送推送通知会导致以下行为:

Push Banner is shown twice?

看到广告在短暂的延迟后又如何显示?

起初我以为我们的后端错误地发送了2个推送通知,一个接一个。

但是,这似乎是单个Push通知的默认iOS行为。 显示横幅,然后立即“再次显示”。 这会导致显示在gif中的抖动UI。 标语似乎收到了两次。

使用iOS 9.0.2测试。

我不记得在向我发送推送通知的其他应用程序中看到过这种行为。 我做错了什么会导致横幅显示两次吗?

雷达:

工程确定您的错误报告(23133694)与另一个问题(23130766)是重复的,将被关闭。

trans by 2020-08-12T00:22:07Z

android-使用GCM时获得GET_ACCOUNTS权限-为什么需要此权限?

我有一个应用程序,实现了推送通知。

我想了解实施GCM时需要“ GET_ACCOUNTS”(android.permission.GET_ACCOUNTS)的原因吗? 一些用户对此许可提出了担忧。 我已经在清单中使用了此许可权,如此处的官方网站所给。

此权限的安全性如何? 如果我从清单中删除了它,推送通知是否有效?

trans by 2020-08-11T22:19:08Z

一次关闭后,如何取回“允许推送通知”对话框?

我正在构建一个严重依赖APN的应用程序。 在我的应用程序首次启动时,iOS会询问是否允许该应用程序使用APN(作为registerForRemoteNotificationTypes:调用的结果)。 但是,一旦关闭,此对话框就永远不会弹出。 我必须手动转到Settings->Notifications->MyApp才能在此处启用/禁用操作。 那么,有没有一种方法可以避免这种烦恼,并在每次以调试模式启动应用程序时,真正体验用户在首次启动时会遇到的体验?

trans by 2020-08-10T04:38:07Z

android-firebase的应用令牌在什么时期发生变化以及如何管理?

我刚接触Firebase,就像学走路的小孩一样学习它。 到目前为止,我已经设法使用Firebase框架为手机生成的令牌向自己的手机发送消息。 现在这是棘手的地方(我认为)。 FirebaseInstanceIdService扩展服务中有一种称为onTokenRefresh()的方法。 由于它被称为刷新,因此我假设它将改变。 我想知道何时创建此令牌以及何时将其更改?

如果更改了,假设我将消息发送到令牌为“ A”的设备,该设备暂时处于离线状态,因此它将排队。 现在,当设备在线时,它将“刷新”令牌为“ B”。 现在,由于应该将消息传递到令牌“ A”,因此将永远不会传递消息。 我该如何处理这种情况?

trans by 2020-08-07T04:52:39Z

通知无法在Android Oreo(API 26)中显示

尝试在Android O上显示通知时收到此消息。

不建议将流类型用于卷以外的其他操作 控制

该通知直接来自示例文档,并在Android 25上正常显示。

trans by 2020-07-30T06:27:50Z

红宝石-您将如何在RoR中的SO或Facebook上创建一个通知系统?

我认为通知将是它自己的资源,并且与带有表示关联的联接表的用户模型具有has_many, through关系。

具有许多通知的用户是显而易见的,然后一个通知将具有许多用户,因为将存在与许多用户相关联的许多标准化通知(评论通知,后续通知等)。

除了此设置之外,我不确定如何根据您的应用程序中的某些事件触发创建通知。 我也不太确定如何设置路由-是它自己的单独资源还是嵌套在用户资源中? 如果有人可以对此进行扩展,我会发现它很有帮助。

最后,ajax轮询可能会改善这种功能。

我可能缺少某些内容,因此请填写此内容,以便它成为很好的常规资源。

trans by 2020-07-28T11:49:24Z

android-在运行时推送通知(GCM)权限?

我已经读过,有必要在运行时要求用户提供API 23及更高版本的某些权限。 例如:ACCESS_FINE_LOCATION。如果API为23或更高版本,是否有必要(甚至可能)要求在运行时使用GCM /推送通知的运行时权限?

我尝试在运行时使用ACCESS_FINE_LOCATION方法,但是当我将其与任何GCM /推送通知相关的权限一起使用时,它似乎不起作用(什么也没有发生)。

为此,我在清单中具有以下权限:

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<permission
    android:name="${applicationId}.permission.C2D_MESSAGE"
    android:protectionLevel="signature"/>

从Play商店下载应用程序时,用户知道的唯一权限是ACCESS_FINE_LOCATION。 用户是否应该选择是否允许推送通知?

trans by 2020-07-19T16:46:50Z

如何在ios推送通知中显示图像?

iOS 10引入了推送通知框架更新,

UserNotificationsUI.framework

如苹果文档中所写,它使我们可以自定义本地和远程通知在用户设备上显示时的外观。

因此,如果有人知道在锁定屏幕上时如何在推送通知中显示图像。 像android推送通知一样。

谢谢,

trans by 2020-07-14T11:08:43Z

推送通知-Android“ hello world”推送通知示例

我是android应用程序开发的新手,我正在学习一些东西。 我的艰巨任务是要从Web服务器(PHP)向Android应用程序(只是一个“ helloworld”)发送推送通知(云消息传递)。 我做了一些“谷歌搜索”,我的怀疑很少

  1. Google正在使用您的“设备是”发送通知,对吗?
  2. 除了在清单中添加一些权限以接收通知之外,我们的应用程序中是否需要任何代码?
  3. 为了发送通知,我们必须将用户的设备ID注册到“本地数据库”。

请帮我另外,有人可以给我看一个代码示例或文档,以从PHP服务器发送简单通知吗?

提前致谢

trans by 2020-07-12T04:40:56Z

推送通知-GCM-注册ID的最大长度

更新:不建议使用GCM,请使用FCM

GCM服务器发布的注册ID的最大长度是多少? GCM文档未提供此信息。 对此进行谷歌搜索发现,注册ID本质上不是固定长度的,并且最大长度为4K(4096字节)。 但这不是Google的官方答案。 我目前收到的注册ID为162个字符长。 有人可以帮忙吗?

trans by 2020-06-18T19:22:25Z

ios-快速读取远程通知的userInfo

当我收到这样的远程通知时,我实现了一个打开AlertView的功能:

func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]){
        var notifiAlert = UIAlertView()
        var NotificationMessage : AnyObject? =  userInfo["alert"]
        notifiAlert.title = "TITLE"
        notifiAlert.message = NotificationMessage as? String
        notifiAlert.addButtonWithTitle("OK")
        notifiAlert.show()
}

但是NotificationMessage始终为零。

我的json负载看起来像这样:

{"aps":{"alert":"Testmessage","badge":"1"}}

我正在使用Xcode 6,Swift,并且正在为iOS8开发。我现在搜索了几个小时,但没有找到任何有用的信息。通知工作正常..如果我单击它,则将打开警报视图。我的问题是,我无法从userInfo中获取数据。

trans by 2020-06-17T10:13:54Z

Swift iOS检查是否在ios9和ios10中启用了远程推送通知

如何检查用户是否在ios 9或ios 10上启用了远程通知?

如果用户不允许或单击“否”,我想切换一条消息,询问他们是否要启用通知。

trans by 2020-02-15T19:44:25Z

ios-Firebase:无法上载生产APN证书

我目前正在TestFlight中测试应用程序,并且需要生产APNs证书才能在Firebase中测试通知。

我已按照此视频中的所有步骤操作,并成功配置了开发APNs证书:[https://www.youtube.com/watch?v=LBw5tuTvKd4]

我还检查了我遵循Firebase支持指南的步骤。 尽管我注意到自编写本指南以来,Apple Developer网站已稍作更改:[https://firebase.google.com/docs/cloud-messaging/ios/certs#configure_an_app_id_for_push_notifications]

我已经使用与开发证书相同的方法在developer.apple.com上生成了生产APNs证书,但是当我尝试将.p12文件上传到Firebase时,出现以下错误:

“证书环境不匹配。请确保您获得正确的开发或生产APNS证书。”

我肯定要上载从生产APNS证书生成的.p12,对于生产证书我还需要做其他事情吗?

trans by 2020-02-15T15:08:28Z

ios-在Xcode中通过推送通知启动应用程序时如何调试

我正在使用Xcode5。我正在iOS中使用推送通知。 对于后台模式和前景模式,可以在iOS设备上轻松调试的结果令人满意。

但是问题是当应用程序处于关闭状态并通过推送通知点击启动时,但我不知道在这种情况下如何调试。 我知道Xcode 4的解决方案,但不知道Xcode 5的解决方案。

那么,通过推送通知启动Xcode 5并调试应用程序时,是否有任何解决方案?提供在这种情况下进行调试的步骤。

trans by 2020-02-02T14:29:02Z

ios-didReceiveRemoteNotification:fetchCompletionHandler:从图标vs推送通知打开

我正在尝试实现后台推送通知处理,但是在确定用户是否从发送的推送通知中打开应用程序而不是从图标中打开应用程序时遇到问题。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

    //************************************************************
    // I only want this called if the user opened from swiping the push notification. 
    // Otherwise I just want to update the local model
    //************************************************************
    if(applicationState != UIApplicationStateActive) {
        MPOOpenViewController *openVc = [[MPOOpenViewController alloc] init];
        [self.navigationController pushViewController:openVc animated:NO];
    } else {
        ///Update local model
    }

    completionHandler(UIBackgroundFetchResultNewData);
}

使用此代码,无论用户如何打开应用程序,应用程序都可以打开MPOOpenViewController。 我该如何做,以便只有在用户通过滑动通知打开应用程序时才推动视图控制器?

使用相同的代码,它可以在iOS 6上运行,但是使用新的iOS 7方法,则无法达到我想要的方式。

编辑:我现在尝试在iOS 7上运行该应用程序,并且我们不支持iOS 7之前的任何版本。我在该方法的iOS 6版本中使用了相同的代码(没有完成处理程序),并且它的行为 我期望的那样。 您只要轻扫通知,就会收到通知。 如果从图标打开,则永远不会调用该方法。

trans by 2020-01-29T01:59:23Z

java-生成int唯一ID作为android通知ID

当我发送多个推送通知时,我需要将它们全部显示在按发送desc的时间排序的通知栏中。 我知道我应该使用唯一的通知-我尝试生成随机数,但这不能解决我的问题,因为我需要对其进行订购。 我尝试使用AtomicInt,但仍然没有得到想要的结果。

package com.mypackage.lebadagency;
import java.util.concurrent.atomic.AtomicInteger;

import android.app.IntentService;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.os.SystemClock;
import android.support.v4.app.NotificationCompat;
import android.util.Log;



import android.widget.RemoteViews;

import com.google.android.gms.gcm.GoogleCloudMessaging;

public class GCMNotificationIntentService extends IntentService {

  private AtomicInteger c = new AtomicInteger(0);
  public int NOTIFICATION_ID = c.incrementAndGet(); 

  private NotificationManager mNotificationManager;
  NotificationCompat.Builder builder;

  public GCMNotificationIntentService() {
    super("GcmIntentService");
  }

  public static final String TAG = "GCMNotificationIntentService";

  @Override
  protected void onHandleIntent(Intent intent) {
    Bundle extras = intent.getExtras();
    GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);

    String messageType = gcm.getMessageType(intent);

    if (!extras.isEmpty()) {
      if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR
          .equals(messageType)) {
        sendNotification("Send error: " + extras.toString());
      } else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED
          .equals(messageType)) {
        sendNotification("Deleted messages on server: "
            + extras.toString());
      } else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE
          .equals(messageType)) {

        for (int i = 0; i < 3; i++) {
          Log.i(TAG,
              "Working... " + (i + 1) + "/5 @ "
                  + SystemClock.elapsedRealtime());
          try {
            Thread.sleep(5000);
          } catch (InterruptedException e) {
          }

        }
        Log.i(TAG, "Completed work @ " + SystemClock.elapsedRealtime());

        sendNotification(""
            + extras.get(Config.MESSAGE_KEY));
        Log.i(TAG, "Received: " + extras.toString());
      }
    }
    GcmBroadcastReceiver.completeWakefulIntent(intent);
  }

  private void sendNotification(String msg) {

    Log.d(TAG, "Preparing to send notification...: " + msg);
    mNotificationManager = (NotificationManager) this
        .getSystemService(Context.NOTIFICATION_SERVICE);
    //here start
    Intent gcmintent = new Intent(this, AppGcmStation.class);
    gcmintent.putExtra("ntitle", msg);
    gcmintent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    int requestID = (int) System.currentTimeMillis();
    //here end
    PendingIntent contentIntent = PendingIntent.getActivity(this, requestID,
        gcmintent, PendingIntent.FLAG_UPDATE_CURRENT);

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
        this).setSmallIcon(R.drawable.ic_launcher)
        .setContentTitle("my title")
        .setStyle(new NotificationCompat.BigTextStyle().bigText(msg))
        .setContentText(msg);
    mBuilder.setAutoCancel(true);
    mBuilder.setTicker(msg);
    mBuilder.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }); 
    mBuilder.setLights(Color.RED, 3000, 3000);
    mBuilder.setContentIntent(contentIntent);
    mBuilder.setDefaults(Notification.DEFAULT_SOUND);



    mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
    Log.d(TAG, "Notification sent successfully.");
  }
}

我需要最好和最简单的方法来生成一个int ID,该ID可以递增以将其分配为通知ID。

trans by 2020-01-23T16:52:29Z

iphone-Apple APNS(推送通知服务)示例代码

是否有一个示例项目显示了如何在iPhone上使用APNS以及如何进行设置? 我目前正在查看文档,但是最好将一些工作代码分开,看看它们如何一起工作?

我似乎无法使用Google或在iPhone开发人员中心找到任何东西。

trans by 2020-01-19T15:09:34Z

android-Firebase Cloud Messaging免费吗?

我需要在应用程序中实现推送通知功能。 探索一些选择。

Google最近推荐了Firebase平台,但这并不是完全免费的服务。 所以我想到了再次使用GCM。 Google将来会停止对GCM的支持吗?

trans by 2020-01-04T16:10:26Z

android-在应用程序s上收到奇怪的推送消息

我的推送服务捕获到奇怪的推送消息:

Bundle[{CMD=RST_FULL, from=google.com/iid, android.support.content.wakelockid=1}]

昨天刚开始发生,我不能真正发现应该为此负责的代码更改。 有人以前看过此消息吗,也许知道它来自何处以及为什么?

trans by 2019-12-27T18:44:45Z

CodeGo.net>如何在Xamarin形式使用推送通知

我有一个使用Xamarin.Forms针对IOS,Android和WP 8的应用程序。

我的应用程序需要推送通知功能。

我已经看到了pushsharp演示,而且看起来很有希望。 但是我看到的所有代码都是针对每个平台分别完成的。

我希望在App.cs中的Xamarin.Forms项目中完成此操作,这样我就无需重复用于注册设备的代码,并处理应该如何处理推送通知。

任何帮助将不胜感激。 欢迎提供示例代码或教程参考。

编辑:我基于Idot的答案实现了它。 这是我的答案的链接。

trans by 2019-12-25T08:31:36Z

1 2 3 下一页 共3页