Class Reference
IRIS for UNIX 2019.2
InterSystems: The power behind what matters   
Documentation  Search
Private  Storage   

persistent class EnsLib.PushNotifications.IdentityManager.DeviceTracking extends %Persistent, %XML.Adaptor

Zen Mobile Cloud Messaging Device Tracking


Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 4 1 4


AppIdentifier AssociatedAppTokens Identifier LastUpdatedUTC

%AddToSaveSet %AddToSyncSet %BMEBuilt %CheckConstraints
%CheckConstraintsForExtent %ClassIsLatestVersion %ClassName %ComposeOid
%ConstructClone %Delete %DeleteExtent %DeleteId
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Exists
%ExistsId %Extends %GUID %GUIDSet
%GetLock %GetParameter %GetSwizzleObject %Id
%InsertBatch %IsA %IsModified %IsNull
%KillExtent %KillExtentData %LoadFromMemory %LockExtent
%LockId %New %NormalizeObject %ObjectIsNull
%ObjectModified %Oid %OnBeforeAddToSync %OnDetermineClass
%Open %OpenId %OriginalNamespace %PackageName
%PhysicalAddress %PurgeIndices %Reload %RemoveFromSaveSet
%ResolveConcurrencyConflict %RollBack %Save %SaveDirect
%SaveIndices %SerializeObject %SetModified %SortBegin
%SortEnd %SyncObjectIn %SyncTransport %UnlockExtent
%UnlockId %ValidateIndices %ValidateObject AssociateDeviceWithAppToken
DisassociateDeviceWithAppToken FindDeviceByAppToken FindDeviceByDeviceAndAppIds XMLDTD
XMLExport XMLExportToStream XMLExportToString XMLNew
XMLSchema XMLSchemaNamespace XMLSchemaType


• property AppIdentifier as %String(MAXLEN=512) [ Required ];
App Identifier
• property AssociatedAppTokens as list of %String(MAXLEN=512) [ Required ];
Associated Application Token
• property Identifier as %String(MAXLEN=512) [ Required ];
Device Identifier (i.e. DeviceToken, or Registration Id)
• property LastUpdatedUTC as %TimeStamp [ InitialExpression = $ZDT($system.Util.LocalWithZTIMEZONEtoUTC($H),3),Required ];
Last updated-at timestamp
• property Service as %String(DISPLAYLIST=",Apple Push Notification Service,Google Cloud Messaging",VALUELIST=",APNS,GCM") [ Required ];
Service type descriptor


• classmethod AssociateDeviceWithAppToken(pIdentifier As %String, pAppId As %String, pService As %String, pAppToken As %String) as %Status
Associate an application token with a deviceid/appid
• classmethod DisassociateDeviceWithAppToken(pIdentifier As %String, pAppId As %String, pService As %String, pAppToken As %String) as %Status
Disassociate an application token with a identifier/appid
• classmethod FindDeviceByAppToken(pAppToken As %String, ByRef pDevice As EnsLib.PushNotifications.IdentityManager.DeviceTracking) as %Status
Locate a device tracking object by an app token
• classmethod FindDeviceByDeviceAndAppIds(pIdentifier As %String, pAppId As %String, pService As %String, ByRef pDevice As EnsLib.PushNotifications.IdentityManager.DeviceTracking, pCreate As %Boolean = 0) as %Status
Helper to locate and/or create a device tracking object from a deviceid/appid pair


• query DeviceSearchByAppToken(pAppToken As %String)
SQL Query :
SELECT %ID, Service, Identifier, LastUpdatedUTC FROM DeviceTracking
WHERE FOR SOME %ELEMENT(AssociatedAppTokens) (%Value = :pAppToken)
Search for devices matching the associated app token


•index (AppIdentifierIndex on AppIdentifier);
Index the app identifier
•index (AssociatedAppTokensIndex on AssociatedAppTokens(ELEMENTS));
Index the associated app tokens (all of them) with this object
•index (IdentifierIndex on Identifier);
Index the device identifier
•index (ServiceIndex on Service);
Index the service

Copyright (c) 2019 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.