Использование списка контактов не является хорошим способом "поделиться" в этом отношении.
Вы задаете два вопроса здесь:
- Как построить систему для обмена данными между двумя мобильными клиентами независимо от платформы?
- Как наилучшим образом разрешить пользователям находить своих друзей для обмена данными?
Давайте начнем со второго вопроса.
Я бы использовал такие сервисы, как Twitter и Facebook, чтобы ваше приложение связывалось с вашей учетной записью Facebook. Это хорошо известный подход, позволяющий избежать необходимости использовать собственную систему учетных записей.
На примере Facebook:
Facebook подключиться, вы можете получить facebookID вашего пользователя, а также их друзей facebookID. Вам понадобится серверная веб-служба, к которой вы можете обращаться к пользователям по fbID.
Когда пользователь решает использовать свою учетную запись Facebook, сохраните его FacebookID в бэкэнд-сервисе. Затем, используя API Facebook, получите список своих друзей в FacebookID. Ваше приложение будет искать каждый идентификатор, используя ваш бэкэнд-сервис, и если он его найдет, вы узнаете, что ваш друг также установил приложение и подключил его к Facebook.
Так что, если Алиса установила ваше приложение, подключается к Facebook, и она дружит с Бобом, который также установил ваше приложение, ваша серверная служба вернет, что FacebookID Боба известен вашему приложению, и, таким образом, они оба могут делиться друг с другом, используя какой-то разработанный вами протокол.
Если идентификатор вашего друга неизвестен вашей системе, я бы отправил им сообщение в Facebook или опубликовал на их стене спокойную ссылку, которая предложила бы им проверить заметку, которой вы хотите поделиться в Интернете, и разместить ее. ссылка на приложение на той же странице.
Из-за высокого уровня вашего вопроса этот ответ имеет вид 20000 футов и предполагает, что вы знаете, как создать веб-сервис.
Если вы хотите увидеть отличный пример приложения, которое использует Facebook и / или Twitter, чтобы найти друзей, которые также используют это приложение, я рекомендую проверить Groupme . Это бесплатно и доступно для WP7, iPhone и Android. Это групповое SMS-приложение, использующее ваш список контактов, Facebook и Twitter для настройки друзей.
Для первого вопроса вам нужно использовать бэкэнд-веб-сервис. Пользователь решил бы поделиться либо в приложении, либо разместив на своем Facebook, с веб-ссылкой. В приложении обмена, я бы использовал подход входящих сообщений. Пользователь отправляет сообщение своему другу, и оно сохраняется в очереди. Приложение периодически проверяет очередь пользователей, чтобы увидеть, были ли опубликованы какие-либо новые «общие ресурсы». Если это так, получите эти данные и представьте их пользователю. Ваша серверная служба также должна использовать преимущества новых концепций приложений, таких как push-уведомления, потому что именно этого ожидают пользователи.