sms,MMS, and Push Notificstions
andrew at midwestcoastmedia.com
andrew at midwestcoastmedia.com
Tue Aug 15 12:53:52 EDT 2017
I recently tackled push notifications for a client project that was
WAY more in-depth than I imagined (and initially quoted for). Using
the LC tutorials for push notifications with APNsAssistant and
AnroidGCM I was able to add push notification sending from a
standalone desktop app created entirely in LC to a mobile app also
created entirely in LC.
The most difficult element was collecting and maintaining all the
unique push IDs from end users of the mobile app that is being
communicated to. I have the mobile app "phone home" with that push id
(pushNotificationReceived) and add an entry in a remote database on a
LC server by way of the super-helpful API provided by HostM. The
desktop app queries the database for unique IDs of users and looks at
the length of the push ID to determine if it is iOS or Google
(couldn't find definitive documentation on the format of these IDs,
but iOS has < and > symbols and is considerably shorter than
Android IDs) then references the appropriate code base to format and
send the message (iOS has a header and payload, Android has a header
and sub-header and playload).
This is a shotgun approach that inevitably attempts to send more
notifications than there are actual users because I have discovered
that these IDs seem to change over time (not sure when or why). I see
this as a no harm/no foul approach because each device can only have 1
unique ID per app, so some of the messages get transmitted but never
received. Android returns an error message in the JSON for each
attempt flagging it as successful or not, iOS does not.
I was able to get Unicode emoji support in the messages, but have a
real half-ass method of entering them right now that I intend to
update at some point. Currently I have a browser widget that loads a
third-party webpage of emojis (emojipedia.org) that needs to be copied
and pasted into a text field... but the website uses a copy button to
truly copy that doesn't work in my standalone so I have instructed my
end-user to select the emoji from that browser widget and
right-click/ctrl-click to copy to the clipboard and paste into the
field.
--Andrew Bell
> Mike:
> Hmm? I downloaded APNsAssistant, which is linked to the lesson. Is
> this the one that you modified and re-posted to gitHub?
>
> A quick perusal of that stack, it looks like he uses a shell command
> to simulate the sending of an alert. Is that how a notification is
> intended to be sent, or is this method only for testing? If a
> notification could be initiated from the app, it would eliminate the
> need for a server, except to store the receiver
> information/tokens/whatever is needed. That would be preferable. But
> ??
>
> So, sorry for seeming dense, but I?m confused over the role of the
> ?server?. Whether a service like onesignal is required to distribute
> push notifications, or whether the initiator app can just get the
> info from some database and send the notifications from the app
> directly without activating some network server api that does the
> sending.
>
> Best,
> Bill P
More information about the use-livecode
mailing list