androidiospayment-processinghcenfc-p2p

How to use NFC (HCE/Tag/Peer-Peer) or any other way to communicate between ios 11+ and android API 23+, its 2018 hasn't there been any upgrades?


First things first, I am writing this question after researching quite a bit.

Broader View of the issue

In this day and age, we require a more reliable way to perform peer-to-peer communication, preferably using technologies like NFC. I mean we are in the year 2018 and I cannot believe that there isn't reliable means to communicate peer-peer between and ios and an android. I am talking about offline, close proximity/range communication, which can open up a new world of possibilities for mobile apps. Many of the apps we use to communicate with other devices require one or more of internet, login, credentials/authentication, etc. I am making this effort because most of the readers/users/developers do not actually know what has changed in 2018, so if anythings changed, I would love to hear it!

Hindrances

  1. IOS has very weak NFC support, functionality-wise..?
  2. IOS doesn't support Android Beam.
  3. Not enough members are bothered to fix this or are helpless.
  4. IOS doesn't support non-ios Bluetooth connection? (Doubt it/Tried but failed)

What I need

  1. Efficient cross platform solution for communication between two different mobile devices preferably offline.
  2. A way to send and receive money other than Apple Pay/GPay/Samsung Pay/iMessage/AndroidMessages, such as over NFC/Bluetooth preferably offline mutually, but connected to internet independently.
  3. A way to automatically send data when two devices (different platforms and within ios) are in close proximity, without the need to login or register or any other steps. At least a way to trigger something upon nearing one device from the other, like NFC basically.

What I have

Working android application that uses android Beam to send and receive ndef messages, which is easy to do, between two android devices. So we can make the payment happen here in this case.

Questions arise when we try to proceed with android -> ios or vice versa.

I have read a lot of related questions where the answer is outright NO. However, am not taking time to write this question to be told it's not possible. I want the crowd here on stack overflow to help me find a way to workaround this situation. I know it is a lot to ask, but I feel this invention or discovery will help man app developers stuck in this same zone. This question should be answerable by someone who is ideally in the Fintech domain, and is an IOS developer or mobile developer, with working knowledge of card emulation, secure element, ios 11+ or ios 12 development, NFC, NFC tags, etc.

Questions/Ideas:

  1. Can we use the secure element and NFC Tag with ios 12 or ios 11+ libraries to simulate this required functionality?
  2. Does any third-party library get close to having the ios/iphone act like a NFC writer?
  3. Can we simulate NFC writer for ios?
  4. Can I simulate a tag on android device, have the iphone read it(do not want the apple pay popup somehow) and then follow through the next workflow via the internet? For example, if I had a sender and receiver (payments), since android supports a lot more than ios, can I simulate something on android so that either the apple pay thinks am a terminal of sorts and pays me electronically (securely of course), or at the least can I read apple pay credentials of sorts and simulate a terminal and accept a payment from ios on android?

Something on these lines, I know its not very clear, though I am trying to be clear and simple.

Suggested by others and why it is not a great solution:

  1. WebRTC - Needs internet
  2. alljoyn - Need only 2 device not 2+ and no need for server or client setup.
  3. Relay Server not quite sure is offline or works
  4. android-ios-peer-to-peer-architecture question talks a lot about it as well!
  5. developing-mobile-p2p-payment-apps question, which seems to be relevant has NO answer.
  6. why-android-ios11-cannot-communicate-via-nfc question talks about React Native. I for one have looked at PhoneGap and Nativescript which just have the same level of support for ios. In short, it won't work.
  7. Any I left out, in short no solution.

Comments:

//Due to the fact that there is no solution, I feel even more motivated to post this question. I feel we should come together as one and fight for this right. I mean usually seemingly impossible questions are answered here, so I figured you guys could take this as a challenge. The challenge would be to find a legal loophole, an ethical approach, nothing unethical of sorts. So let me know if we can arrive at any positive conclusion! Thank you for being patient.

//I have read the rules and "do not ask" section, so I would just request moderators to check if there *can* be any answer before you flag it or take it down, by which I mean we just need one correct answer, and it can come from anyone or anywhere.

Solution

  • I am pleased to reveal that there has been demand for this and Google has released Nearby API as early as 2016. This is the way to move forward. This is a device independent API.

    1. Please checkout Monzo Bank's Nearby Pay
    2. Google and others claim it works with Ios as well.
    3. It has been around since 2-3 years, which means there should be good support and documentation, though I might be wrong.

    I hope this answer paves the way for others in my position! Good Luck!