2016-03-30 15 views
6

Tôi đang cố gắng thiết lập thông báo đẩy trên máy chủ phân tích cú pháp cục bộ của mình. tôi nhận được lỗi này khi cố gắng gửi một push: (. Các lặp đi lặp lại lỗi cho tất cả các thiết bị lắp đặt thẻ)Thông báo đẩy iOS: không thể tìm thấy kết nối vaild

parse-server-push-adapter APNS cannot find vaild connection for 9a86...21

Bất kỳ ý tưởng?

Mã của tôi server:

var api = new ParseServer({ 
    databaseURI: databaseUri || 'mongodb://localhost:27017/dev', 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: process.env.APP_ID || 'myAppId', 
    masterKey: process.env.MASTER_KEY || '', 
    serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse', 
    liveQuery: { 
    classNames: ["Mission"] 
    }, 
    filesAdapter: new S3Adapter(
    process.env.S3_ACCESS_KEY || '', 
    process.env.S3_SECRET_KEY || '', 
    process.env.S3_BUCKET || '', 
    {directAccess: true} 
), 
    push: { 
    ios: { 
     pfx: 'certificates/development.p12', 
     bundleId: 'co.example.myApp', 
     production: false // Dev 
    } 
    } 
}); 

Tôi đẩy từ mã điện toán đám mây của tôi:

var installationQuery = new Parse.Query(Parse.Installation); 
installationQuery.containedIn('user', specificUser); 
Parse.Push.send({ 
    where: installationQuery, 
    data: { 
    "alert": "Loren ipsum ", 
    "id": MyCustomId 
    } 
}, { useMasterKey: true }, { 
    success: function() { 
    console.log("Push was successful!"); 
    }, 
    error: function(error) { 
    console.error(error); 
    } 
}); 
+0

Bạn có thể vui lòng cung cấp đoạn mã có liên quan? –

+2

bạn có thể giải quyết vấn đề này không? có cùng một vấn đề – wantrapreneur

Trả lời

0

Bạn có lẽ nên cấu hình chứng chỉ sản xuất là tốt. Cũng lưu ý rằng táo bây giờ phát hành các chứng chỉ đẩy phổ quát, bạn nên sử dụng nó vì nó sẽ làm việc cho thiết bị có đượcTokens cả với các gói phát triển và sản xuất.

1

Điều gì gây ra lỗi là bạn có thiết bị trong bảng cài đặt khớp với bộ lọc theo yêu cầu push không còn được đăng ký trong Apple cho ứng dụng của bạn nữa. Khi Apple nhận được yêu cầu thông báo cho một thiết bị không còn đăng ký với ứng dụng của bạn, nó sẽ trả về thông báo đó để cho biết bạn nên thực hiện một số hành động nếu nó tiếp tục xảy ra.

Trong trường hợp của tôi, tôi có bốn thiết bị được đăng ký trong bảng cài đặt phù hợp với bộ lọc push và hai trong số các thiết bị đó không còn được đăng ký trong Apple cho ứng dụng của tôi nữa.

Error Message from the Parse Server Log

Matching devices in the dashboard

Tôi không chắc chắn lý do tại sao nó xảy ra nhưng tôi đã nhìn thấy các tình huống sau đó gây ra một kỷ lục lắp đặt mới được tạo ra mà làm mất hiệu lực quá trình cài đặt trước. Nó có vẻ giống như một cái gì đó các dịch vụ phân tích cú pháp có thể theo dõi và hành động sau khi nhận được rất nhiều lỗi cho mã thông báo thiết bị đó mà không có sự đẩy thành công giữa các lỗi.

  1. Người dùng xóa và tái cài đặt các ứng dụng
  2. Người dùng cập nhật phiên bản iOS của họ và giá trị deviceToken được thay đổi.
  3. Url kết nối với dịch vụ phân tích cú pháp được cập nhật trong ứng dụng bằng cách thay đổi cài đặt cấu hình mà không phải cài đặt lại ứng dụng.

Để giải quyết các lỗi bạn chỉ cần loại bỏ các cài đặt phù hợp với deviceToken trong thông báo lỗi

Các vấn đề liên quan