ios - 带有 brozot/Laravel-FCM 的 laravel fcm 推送通知不适用于 ios,但在 android 上运行良好

标签 ios firebase laravel-5.2 firebase-authentication firebase-cloud-messaging

即使 ios 也可以从 fcm 控制台获得通知。

Controller 功能 :

public function push(Request $request)
{
    $validator = Validator::make($request->all(), [
        'title' = > 'required',
            'body' = > 'required',
            'token' = > 'required',
            'type' = > 'required',
            'id' = > 'required',

    ]);

    if ($validator->fails()) {
        $this->throwValidationException(
            $request, $validator
        );
    }

    $title = $request['title'];
    $body = $request['body'];
    $type = $request['type'];
    $id = $request['id'];
    $dataarray = array(
        "id" = >$id,
        "type" = >$type,
        'title' = >$title,
        'body' = >$body,
        'image' = >'321451_v2.jpg',
    );

    $token = $request['token'];

    return $push = Push::sendpush($title, $body, $dataarray, $token);

}

push model function :
public static function sendpush($title, $body, $dataarray, $token)
{


    $optionBuiler = new OptionsBuilder();
    $optionBuiler->setTimeToLive(60 * 20);

    $notificationBuilder = new PayloadNotificationBuilder($title);
    $notificationBuilder->setBody($body)
        ->setSound('');

    $dataBuilder = new PayloadDataBuilder();
    $dataBuilder->addData($dataarray);

    $option = $optionBuiler->build();
    $notification = $notificationBuilder->build();
    $data = $dataBuilder->build();

    $token = $token;

    $downstreamResponse = FCM::sendTo($token, $option, $notification, $data);

    return new JsonResponse(array('status' = >'1', 'sucess' = >$downstreamResponse->numberSuccess(), 'fail' = > $downstreamResponse->numberFailure(), 'msg' = >$downstreamResponse->tokensWithError()), 200);

}

Response:
{
    "status": "1",
    "sucess" : 0,
    "fail" : 1,
    "msg" : []
}

最佳答案

如果您尝试使用 ios 模拟器,它将无法正常工作。您需要使用一些工具,例如 testflight 或真实设备进行测试。

我们可以在模拟器中检查推送通知吗?

关于ios - 带有 brozot/Laravel-FCM 的 laravel fcm 推送通知不适用于 ios,但在 android 上运行良好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42292598/

相关文章:

objective-c - 在没有 initWithCString 的情况下将 char* 转换为 NSString 的正确方法?

ios - 如何为 Swift 配置 Firebase 并读取数据

php - 如何使用 Goutte 在 laravel 5.2 中进行抓取?

ios - 如何将负零与正零分开?

iphone - UIWebView 从本地文件系统加载 HTML 文件

ios - 从 Firebase 请求接收值后调用函数

php - 调用未定义的方法 Illuminate\Database\Query\Builder::notify()

php - 包中的 Laravel 5.2 数据库种子?

ios - IBAction 链接到多个 UISliders

ios - 上传图片时 Firebase for iOS 错误 : object does not exist