I am initiating zoom phone call from web browser using hyperlink where I have a use case. I need to pass callerid parameter in the URI scheme to initiate outgoing call from zoom user's custom/group number instead of the assigned zoom number. So the callerid parameter is mandatory (see here).
zoomphonecall:+XXXX?callerid=+YYYY
The above URI scheme works from desktop web app and in iOS devices but when I use the same from web android it opens the zoom app but says invalid phone number however zoomphonecall:+XXXX this works fine in all devices.
Is there any work around for this ?
Related
I'm trying to figure out how to set the app name of what shows up in a PWA web push notification.
The PWA already shows up in the apps installed list and shows up on the home screen with the app name.
It can receive web push notifications, but what I'm curious about is how to change the part that says Chrome and myexamplesite.com (blurred in the image below)
Normally the notification will show something like Chrome ● myexamplesite.com ● now
I know that the Chrome badge can be set with the badge argument, but what about the part that says Chrome and the website url? Can that be somehow set to be something like My App Name?
I guess the Chrome part is not changeable since it comes from the client browser. And the title seems to come from your App name.
AFAIK you cant change the 'Chrome' title in the notification because the PWA depends on your browser, but you can set the notification title using registration.showNotification(title, options)
Push Notification it's part of the mobile OS system API
It's because the notification is from Chrome App (doesn't matter what logic is inside is it its own Chrome notification or PWA)
The logic is the next: the mobile App registers in the mobile (iOs/Android) system with its name and icon (or some other declared in specific files like 'manifest' in PWA) with a set of permission/access rules/etc, e.g. allow the App to create Push Notifications in the system. It makes once, the name of the App and icon could be changed by itself but it will be changed everywhere in the system.
In this case, to change the Push Notification 'app name' the App should change it globally.
The title, subtitle, image, text, and body/metadata could be set dynamically and Chrome gives the API for it.
I'm a Java/Web developer and I don't know anything about iPhone applications.
I did search on the Internet and the following steps are what I think people suggested but I want to confirm.
I would like to know if the following steps will allow me to send a content body to SMS messages when a user clicks on a link on a web page.
Build an iPhone app that takes content body and receiver phone number.
Make the visitors to my webpage download the iPhone app in #1 (using javascript to check if s/he already has it and a custom url scheme to open the iPhone version of "PlayStore")
The visitor installs the app.
Call the iPhone app in #1 using a custom URL scheme, from a link on a web page. This link contains the phone number of the receiver and a content body
The iPhone app in #1 then opens the native SMS app in iPhone, this time with a body.
Is this
1. possible ?
2. the right way to do ?
EDIT :
To make things clearer, what I need are...
It shouldn't be the web server that sends the SMS. The client who gave us the job does not want to pay for that. The client wants each visitor send their own SMS and pay for it.
I made a mistake. The phone number of the receiver should be empty. Only the content body is pre populated. So if I clicked on the "send SMS to my friends" link(on a webpage), it opens the native SMS application.(at least, this is how it works on android devices currently). And then the visitor would type in or select the phone number of the receiver from the contacts on his device.
No, you cannot open the SMS app with a message body. The only way to send it is by using MFMessageComposeViewController (iOS 5.0+) as shown in this page. If you need to support earlier versions, you are out of luck.
I'm not sure that Javascript can "check" that the device can run a url scheme either (I'm almost certain it can't check what apps are installed), but I'm not an expert at that kind of stuff.
As far as you are launching your application with some data using Custom URL Schemes this might help you calling your app with some parameters
http://www.idev101.com/code/Objective-C/custom_url_schemes.html
For step #5 its not possible
Short Answers:
No.
No. The "right" version would be to send the SMS from your webserver, using something like NowSMS.
I'm wondering if there is a way to open an app when clicking on a link in safari (or other browser) in iOS.
My app posts the name of a location, a screenshot on Twitter/Facebook which also has a link. I need to detect when the user clicks that link if he is on a pc or iOS device. If they're not on iOS device I want to continue to the linked page otherwise I want to open the app and also take take that location name as a parameter when opening it.
If the app has registered a custom URL scheme the device will open the particular app when it's asked to open a URL of a particular scheme.
This stems from the CFBundleURLSchemes key of your apps infoPlist. Apple's documentation has all the information you need to get started.
To register a URL type for your app, include the CFBundleURLTypes key
in your app’s Info.plist file. The CFBundleURLTypes key contains an
array of dictionaries, each of which defines a URL scheme the app
supports. Table 6-2 describes the keys and values to include in each
dictionary.
See more here at the iOS Programming Guide: Advanced App Tricks under 'Communicating with Other Apps' section.
Edit
In order to support the specific functionality of your question you need to go one step deeper.
Your first link needs to be a standard web URL.
The page presented from the first URL needs to detect the device and forward the user onto a second URL that will open the app on the device, with whatever parameters you want to forward to the app.
So - what you're going to have to do is build some sort of device detection into the page that your first URL points to. On that page, detect the device, then conditionally forward the user onto the second URL that will be the custom URL of your particular app.
It's possible to do this device detection, and detect if they have the app installed on their device with some of the newer HTML5 features supported by mobile browsers, but your question is themed around opening apps with URLs in iOS and the main native iOS hooks you need to support opening apps (with parameters and all) is in the documentation above.
I'm in the process of developing an FB app, which needs to be able to run in the usual desktop FB site (with surrounding FB livery), on mobile device browsers (I'm using HTML5 and Bootstrap to adapt the layout according to device), and within native mobile Facebook apps on iOS and Android.
In particular this last scenario - I'm trying to develop on my MBP and I'm using a local domain name (set in hosts) that points to my web server box next to me. In order to make that work from the iOS device, I have Charles running as a proxy on my MBP and have updated the iPhone wifi proxy settings so that all iPhone http requests are channeled through Charles, and therefore the iPhone can also use the localised domain name.
When testing through the mobile FB website, if i navigate to the test app I've created the FB mobile website launches the canvas in a new safari tab, and it works fine.
However, within the iOS native FB app, when I navigate to the app I receive a
"Sorry, something went wrong"
message in place of where the canvas content should be (see image linked below).
iPhone screengrab
Since FB forces https canvas URLs now I'm using the built-in self-certified certificate of my web server so that https can be served up. In the safari browser I initially get an untrusted certificate warning, which I accept and then I have no problems using my html.
Has anyone else seen this problem and know how to get around it? I'm assuming the FB app is having problems with the untrusted certs, but since the native app is calling a locally served (via proxy) URL, I dont see why there should be a problem (could the FB app be set to not accept untrusted certs?).
I really need to test my code within the iOS app otherwise I wont be able to prove to the client that FB works with my code.
Cheers
Lee
(p.s. I tried using 3G instead of the local wifi proxy in case something there was causing the problem, but it still didnt work in the native iOS FB app)
Turns out the problem was due to the mobile URL I had specified in the app settings was set to use https. Presumably this is because the native app won't accept untrusted SSL certificates (which is also probably why it was fine in the browser, because one can accept untrusted certificates).
Changing the protocol to http fixed the issue. Strangely Facebook doesn't insist on the use of https for mobile app URLs, so using http was not a problem.
So there's a plist boolean in PhoneGap referencing the user's phone number? Can this be acquired? This StckOverflow question suggests not:
Programmatically get own phone number in iOS
I'd like to auto-populate my iBlipper.com app for the message "my number is..."
The wording of this is perhaps a bit ambiguous. If you look at the documentation for the UIWebView property detectsPhoneNumbers in the XCode documentation browser, you'll see that it doesn't detect the user's phone number, but rather identifies phone numbers in the HTML.
Here's a snippet from the relevant documentation:
By default, a web view automatically
converts telephone numbers that appear
in web content to Phone links. When a
Phone link is tapped, the Phone
application launches and dials the
number. Set the detectsPhoneNumbers
property to NO to turn off this
default behavior.
The only way to uniquely identify an individual device is through its device ID property. This isn't an easy-to-read value, and only identifies the handset. So if a person buys a new phone, or sells their phone to someone else, the device ID is different.
Here's a blog post on getting the phone number for android, but it covers common js that you'll need: http://simonmacdonald.blogspot.com/2012/12/how-to-get-devices-phone-number-using.html
However, it looks like you can't use objective C to get a phone number from the phone without user interaction (using standard APIs): Programmatically get own phone number in iOS
So you might be out of luck.