Twilio on cross platform mobile tools (Ionic, React-Native) - ios

I'm looking to build with Twilio's IP Messaging APIs using a cross mobile framework like React Native or Ionic. My question is - is this a sane request? I see that Twilio has a Javascript library that I plan to use. Examples of successes/failures would also help.
My overall goal is to build in simple chat rooms cross platform.

If anyone else found their way here from a Google search, I recently released the code I developed to implement IP Messaging on React Native for my org. You can check it out at on GitHub: react-native-twilio-ip-messaging. It currently supports iOS with Android still in beta.

The current solution is to implement a native module for Twilio Messaging. Check Twilio's IPM docs for their iOS quickstart. There are too many libraries that the Twilio Node SDK uses that conflict with Apple's JavaScriptCore runtime.
Your native module would communicate with the React Native app through the RN bridge. At a high level you'd have to implement sendMessage/joinChannel from RN -> iOS and receivedMessage/Channel from iOS -> RN.
One example (that I've communicated to the Twilio team) is that their JS SDKs break when npm-V8 centric deps like crypto can't be ported. I'm guessing there are several other basic libraries that are commonplace in Node that don't get ported over by React Native's build system.
You can track related React Native issues here:
(Symptom - node modules are missing): https://github.com/facebook/react-native/issues/4968

Related

Programmable Chat - Xamarin Forms Chat App for Windows (UWP) and Mac in future

We are building a chat client in Xamarin Forms (.NET, PCL) for Windows 10 (UWP), Android, iOS and for Mac in future.
We are evaluating Twilio Programmable Chat as a platform to built on.
Is there a .NET SDK (PCL or non-PCL) that we can use to build the client?
Or can we built one of our own using a .NET socket library of our own?
There's no .NET SDK currently available, however Xamarin SDK is planned (no exact date, we'll try to get it going ASAP). You can always use generated wrappers to access the REST API from your application or write your own. The API documentation on the site should be sufficient to get you going, but if you have any specific questions - feel free to ask on SO or from Twilio Support.
Hope this helps.

Is it possible to convert angularjs web application to IOS app with Ibeacon search functionality?

I have developed a web application using angularjs, now i want to convert ios application with iBeacons device searching functionality.
Is it possible to do this, any one please give me advice on this?
Yes this is possible, you can repurpose your Angular single page app into a Cordova/PhoneGap container, then use appropriate plugins (which bridge platform specific native code to Javascript) to add iBeacon or other beacon support. If you don't find plugins that do what you want, you can create your own if you are comfortable working in the native languages of the platforms you want to use (Java for Android, Objective C or Swift for iOS).
Example plugins that already exist to help with this would be:
cordova-plugin-ibeacon
ngCordova Cordova Beacon
There's an example of how to go about this using Angular JS / Ionic framework here.
There is no way to directly scan for beacons in JavaScript. This is true whether you are talking about a web app running in Mobile Safari on iOS or inside a UIWebView container within a native iOS Web app.
If you want to combine JavaScript-based apps with beacons, the alternative is to build Hybrid apps using technologies like Cordova or Ionic (which is built off of Cordova). You can then use Cordova plugins that let you interact with native code that does the beacon scanning, and pass it back to your JavaScript application. One such plugin that accomplishes this is here:
https://github.com/petermetz/cordova-plugin-ibeacon
There are limitations with this approach. Beacon scanning typically has to be in the foreground, and you can't really wake up the app on beacon detection.
Full disclosure: I am the lead developer on the Android Beacon Library open source project upon which the above plugin is based.

Using twilio sdk for an iOS app?

I am planing to develop an VoIP iOS app and use Twilios SDK. I am making the choice to either use LiveCode, Appery.io, PhoneGap or build a native Objective C app. I am going to build the app for iOS, Android and HTML5 so the ideal would be to develope in JavaScript for all platforms, but as I understand the support for WebRTC is laking on the iPhone so the alternative for iOS is the native twilio SDK.
My requirements is:
be possilbe to use in iPhone 5 with iOS 7 be able to use twilio iOS
SDK´s voip functionality or twilio´s js SDK (if it is possible to
wrap a browser that supports RTC in the code?) be able to integrate
billing such as in-app payment or paypal with zooz or similar
communicate with REST API´s such as Amazon S3 or a node.js server
store temporary info in a SQLLite db when app is off line make fast
and responsive views (file listings etc) is very important
create cfuuid´s
I have seen several Twilio projects that use PhoneGap but none that are using LiveCode.
I have already built an iOS VoIP app in Objective C, but I want to be able to release it on several platforms also such as for Android and build a HTML5 app, without redoing everything.
This isn't really a programming question and should perhaps not be asked here.
You can create an external for LiveCode and quickly create an interface using the LiveCode IDE. This is probably a quick and easy way to make a working app. If you're starting with LiveCode but are experienced in Objective-C, creating an external won't be a problem for you.
LiveCode doesn't contain native iOS controls, which means that you have to emulate the GUI. If you use PhoneGap, you also will need to compile a plugin for PhoneGap using Objective-C, but you can use a framework, such as JQuery, to get the right GUI.
Either way, you will have to compile the SDK and you'll need to be quite profound in Objective-C.
LiveCode will meet all your requirements. However, Apple will deny your app if you use PayPal for in-app purchases. You'll have to use Apple's in-app purchasing feature. I believe this is possible in LiveCode now. I'm not sure how easy it is.
I'm not sure about file listings either. On iOS, you won't have complete access to all files on the phone. This isn't a LiveCode limation but a limitation of the OS.

Implementing VOIP with Phonegap

I currently have a app created using PhoneGap running solely on IOS, with future plans of possible providing multi-platform functionality. I am trying to implement a VOIP feature (like a Walkie Talkie) into my app solely over an internal network. I tried exploring Phono but to no avail as it requires me to be connected to the internet. What other options do I have?
What you need to do is to implement your VOIP functionality in native and then make a custom plugin for PhoneGap so your HTML5 app can communicate with the Native code.
You can use Twilio Client if you don't want to write everything yourself.They have API for both iOS and Android
http://www.twilio.com/client/mobile
To make a custom plugin for PhoneGap take a look at:
http://docs.phonegap.com/en/2.3.0/guide_plugin-development_index.md.html
The other option is to use WEBRTC:
http://www.webrtc.org/

How can I integrate 3rd party iOS SDKs into a Forge/Trigger app?

I am trying to integrate the TestFlight iOS SDK into my Forge app. Can't seem to find any clear way to do this. Is this even possible?
Trigger doesn't yet have a native plugin API to allow for arbitrary native code to be included in your apps.
Our focus has been on keeping the development cycle quick and simple: as native plugins are necessarily much more complex than just writing HTML/CSS/JS, we've not prioritised support for them.
Native plugins are definitely on our roadmap, but at the moment we'd prefer to offer 3rd party SDKs as optional modules to all of our users. If you have a particular need, get in touch at support#trigger.io.

Resources