2013-04-27 2 views
0

내 앱이 푸시 알림을 사용자에게 전송하기 위해 Android GCM에서 작업 중입니다. 그리고 나는이 자습서를Android 푸시 알림 GCM

http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

을 다음입니다하지만이 튜토리얼 년에 우리는 개별 장치로 푸시 알림을 보낼 수있는 것으로 나타났다. 하지만 모든 사용자에게 즉시 알림을 보내려고합니다. 그렇다면이 기술을 어떻게 구현할 수 있을까요?

답변

0

당신은 GCM과 함께 전송할 수 있습니다. 편대 아래 이용하여

: 키 registration_ids

{ 
    "registration_ids" : ["APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."], 
    "data" : { 
    ... 
    }, 
} 

여기서 값은 다음과 같아야

메시지를 수신하는 장치 (등록 아이디)의 목록 문자열 배열 . 등록 번호는 최소한 1 자 이상 1000 자 이하 여야합니다. ID. 멀티 캐스트 메시지를 보내려면 JSON을 사용해야합니다. 단일 메시지를 단일 장치로 보내려면 JSON 개체를 등록 ID 하나 또는 일반 텍스트 (아래 참조)와 함께 사용할 수 있습니다. 필수 사항.

희망이 도움이 될 것입니다.

1

푸시 모듈이 통합 된 "서비스로 백엔드"를 사용할 수도 있습니다. 따라서 모든 참가자에게 백엔드에서 알릴 수 있습니다. 나는 얼마간 "apiomat"을 사용했고 만족했다

4

나는 이미 같은 문제에 직면했고 그것을 해결했다. 한 번에 모든 사용자에게 푸시 알림을 보내려면 앞서 언급 한 자습서에 나열된 모든 작업을 수행해야합니다. index.php에서 index.phpsend_message.php

  1. :하지만 당신은 두 개의 파일을 변경해야

    을 수행합니다. 자바 스크립트 코드를 다음으로 바꿉니다 :

    $(document).ready(function(){ 
    
    }); 
    function sendToAll(){ 
        var data = $("#sendtoall").serialize(); 
        $("#sendtoall").unbind('submit');    
        $.ajax({ 
         url: "send_message.php", 
         type: 'GET', 
         data: data, 
         beforeSend: function() { 
    
         }, 
         success: function(data, textStatus, xhr) { 
           $('.txt_message').val(""); 
         }, 
         error: function(xhr, textStatus, errorThrown) { 
    
         } 
        }); 
        return false; 
    } 
    

    b. 이하의 (스킵 처음 다섯 개 라인) 바디 태그 내부 코드를 바꾸기 :

    <div class="container"> 
        <h1>No of Devices Registered: <?php echo $no_of_users; ?></h1> 
        <hr/> 
        <ul class="devices"> 
         <?php 
         if ($no_of_users > 0) { 
          ?> 
          <li> 
           <form id="sendtoall" name="" method="post" onsubmit="return sendToAll()"> 
            <div class="send_container">        
             <textarea rows="3" name="message" cols="25" class="txt_message" placeholder="Type message here"></textarea> 
             <?php 
             while ($row = mysql_fetch_array($users)) { 
             ?> 
             <input type="hidden" name="regId[]" value="<?php echo $row["gcm_regid"]; ?>"/> 
             <?php 
             } 
             ?> 
             <input type="submit" class="send_btn" value="Send To All" onclick=""/> 
            </div> 
           </form> 
          </li> 
          <?php 
         } else { ?> 
          <li> 
           No Users Registered Yet! 
          </li> 
         <?php } ?> 
        </ul> 
    </div> 
    <div class="clear"></div> 
    
  2. send_message.php에서 :

    는 광고 교체 :로

    $registatoin_ids = array($regId); 
    

    $registatoin_ids = $regId; 
    
0

GCM 주제 메시지를 사용하면 앱 서버가 특정 주제를 선택한 여러 기기에 메시지를 보낼 수 있습니다. 주제/게시 모델을 기반으로 토픽 메시징은 앱 당 최대 백만 개의 구독을 지원합니다.앱 서버는 최대 2KB의 페이로드가 포함 된 메시지를 주제에 보내고 GCM은 메시지 라우팅을 처리하고 올바른 기기로 메시지를 안정적으로 전달합니다. 예를 들어, 일기 예보 앱 사용자는 '악천후 경보'주제를 선택하고 특정 지역을 위협하는 폭풍에 대한 알림을받을 수 있습니다. 모든 사용자에게 메시지를 보내려는 경우 주제를 사용할 수 있습니다.
Source: Google Developer website

하고 살펴 경우 모든 사용자가 주제에 등록하는 볼 수 있습니다. 주제별로 모든 사용자에게 보낼 수있는 주제입니다. 주제에 보내는

당신은이 페이지를 사용할 필요가 https://developers.google.com/cloud-messaging/topic-messaging

및 푸시 알림을 테스트하기 위해, 당신은 크롬 확장 프로그램에서 '고급 나머지 클라이언트 "를 사용할 수 있습니다. push notification test