2016-06-16 5 views
0

画像を送信しようとしています(画像とFacebookのようなプロフィール画像の両方)。 これらの画像を送信しようとすると(ビットマップエンコードされた)、gcmは特別な理由なしにリクエストを無視しています。私はラインを追加しているがGoogle App EngineからGCM経由でアンドロイドにビットマップ画像を送信

query = ndb.gql("""SELECT * FROM GCM_Registration_Table""") 
    i = 0 
    tokens = [] 
    for q in query: 
     tokens.append(q.token) 
     i += 1 

conn = httplib.HTTPSConnection('android.googleapis.com') 
conn.connect() 
conn.set_debuglevel(1) 
body = {} 
body['data'] = { 
    'message': 'this is a post message', 
    'post_id': post.post_id, 
    'publisher': post.publisher, 
    'message_text': post.message_text, 
    'color': post.color, 
    'race': post.race, 
    'size': post.size, 
    'zone': post.zone, 
    'sex': post.sex, 
    'publish_time': str(post.publish_time.strftime('%d.%m.%Y %H:%M:%S')) 
    } 
body['registration_ids'] = tokens 
headers = {'Content-type': 'application/json', 
      'Accept': 'text/plain', 'Authorization': 'key=' \ 
      + api_key} 
print 'Send data \n' + str(body) 
conn.request('POST', '/gcm/send', json.dumps(body), headers) 
response = conn.getresponse() 

を:それは動作しません

'profile_picture': post.profile_picture 

はここで働いていますコードです。

またはゾルですか?

+0

答えがわからないのですが、これを考慮してください:https://www.google.ro/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#safe=off&q = gcm + payload + size – AndreiBogdan

+0

私はそれについても考えていました。 しかし、私はこれを回します。例えば、whatsappが画像を送信すると、GCMの種類のメッセージングでメッセージを送信していることを意味します。 – dan

+0

最終目標は何ですか? OneSignalのようなものを使ってみませんか?彼らには、プッシュ通知を簡単に送信できるAPIがあり、画像を含むあらゆる種類のものを添付することができます(URLはバイナリではなく、私が信じているように)。シンプルで無料です。少なくとも、一般的な使用例では無料の制限数はかなり高いです... https://documentation.onesign.com/.com/docs/notifications-create-notification – AndreiBogdan

答えて

0

いいえ、サイズのためにGCM経由で画像を送信することはできません。

だから、単純な解決策は「投稿ID」を送信してから、そのIDで投稿をリクエストすることです。

ありがとうございます!

関連する問題