Delphi Xe8, как получить токен устройства Android?

Я зарегистрировал систему Google Cloud Messaging (GCM). Я использую Delphi Xe8.

Мне нужно получить токен устройства Android для отправки уведомления с помощью gcm.

Но я понятия не имею о токене устройства.

Как я могу получить токен устройства?


person Egemen HALICI    schedule 17.06.2015    source источник
comment
Здесь вы найдете ответ на свой вопрос: stackoverflow.com/ вопросов/18838485/ Второй ответ содержит ссылку на пример компонента, который использует JNI для использования функций GCM (sites.google.com/site/ioanghip/)   -  person Stefan Wanitzek    schedule 17.06.2015


Ответы (2)


Вы можете получить DeviceID и DeviceToken, используя следующий код...

var 

    ADeviceID, ADeviceToken : String; 

begin

    APushService := TPushServiceManager.Instance.GetServiceByName( TPushService.TServiceNames.GCM );
    APushService.AppProps[ TPushService.TAppPropNames.GCMAppID ] := '123...GCMAppID...456';  // Your GCM App ID
    AServiceConnection := TPushServiceConnection.Create( APushService );
    AServiceConnection.Active   := True;
    AServiceConnection.OnChange := OnServiceConnectionChange;
    AServiceConnection.OnReceiveNotification := OnReceiveNotificationEvent;
    ADeviceID    := APushService.DeviceIDValue[ TPushService.TDeviceIDNames.DeviceID ];
    ADeviceToken := APushService.DeviceTokenValue[ TPushService.TDeviceTokenNames.DeviceToken ];
end;
person mwroh    schedule 22.07.2015

Если вы следуете этому руководству, http://docwiki.embarcadero.com/RADStudio/XE8/en/Multi-Device_Application_to_Receive_Push_Notifications

Затем в том месте этого руководства, где вы создаете события из PushEvents1, вы можете получить Devicetoken с помощью этого кода.

procedure TForm1.PushEvents1DeviceTokenReceived(Sender: TObject);
begin
ShowMessage('Devicetoken received');
ShowMessage(PushEvents1.BindSource.Adapter.PushSender.DeviceToken);
end;
person Kajisensi    schedule 14.01.2016