2012-05-08 3 views
2

Я пытаюсь открыть презентацию prezi.com из своего приложения.Открыть prezi из приложения

NSURL *url = [ [ NSURL alloc ] initWithString: @"prezi://open?oid=ftv9hvziwqi2" ]; 
[[UIApplication sharedApplication] openURL:url]; 

Этот фрагмент кода открывает приложение, но не презентацию. Когда вы посещаете эту ссылку на своем ipad, вы получаете страницу со ссылкой, чтобы открыть презентацию.

http://prezi.com/ftv9hvziwqi2/coca-cola-companya/

Но я могу понять, правильный URL для открытия презентации в Prezi приложении. И я не могу найти какую-либо документацию из этого на сайте prezi.

ответ

2

Я тоже был заинтересован в этом, поэтому я немного заглянул в него.

Если вы посетите гиперссылку (http://prezi.com/ftv9hvziwqi2/coca-cola-companya/) на iPad, она даст вам ссылку, необходимую для открытия презентации в приложении Prezi.

Это он: -

prezi://open?oid=ftv9hvziwqi2&details=eyJzaXplIjogMTIzMTE2MywgInRva2VuIjogIiIsICJ0aHVtYl91cmwiOiAiaHR0cDovLzA0MDEuc3RhdGljLnByZXppLmNvbS9wcmV2aWV3LzgvOS83L2M3M2U3NTU5YTE3ZjdkMjgyMjc1NGIwOWVkNmY2ZDJhNjNkZmFfMV92OTkucG5nIiwgImF1dGhvciI6ICJBbm5pZSBOYW0iLCAidGl0bGUiOiAiQ29jYSBDb2xhIENvbXBhbnkuQSIsICJsYXN0bW9kIjogIjA4IEFwcmlsIDIwMTIiLCAib2lkIjogImZ0djlodnppd3FpMiIsICJkZXNjIjogIkludGVybmF0aW9uYWwgbWFuYWdlbWVudCBwbGFuIn0= 

Оказывается, есть второй параметр, называемый «детали», который кодируется в base64. Когда я декодируют его, детали выглядеть следующим образом: -

{"size": 1231163, "token": "", "thumb_url": "http://0401.static.prezi.com/preview/8/9/7/c73e7559a17f7d2822754b09ed6f6d2a63dfa_1_v99.png", "author": "Annie Nam", "title": "Coca Cola Company.A", "lastmod": "08 April 2012", "oid": "ftv9hvziwqi2", "desc": "International management plan"} 

Я предполагаю, что требуется параметр «Сведения», поэтому попробуйте создать свой собственный и base64 кодирования его. Удачи!

Редактировать: Проще говоря, вы можете направлять пользователя на сафари. Таким образом, они могут открыть приложение Prezi, и вам не нужно создавать какие-либо странные детали самостоятельно.

NSURL *url = [ [ NSURL alloc ] initWithString: @"http://prezi.com/ftv9hvziwqi2/coca-cola-companya/" ]; 
[[UIApplication sharedApplication] openURL:url]; 
+0

Спасибо за первую часть. Поскольку prezi не имеет api, мне нужно выяснить, какие параметры требуются в объекте json. Ваш второй вариант для открытия URL-адреса работает действительно, но не тогда, когда вы находитесь в автономном режиме. – Melvin

+0

Если вы укажете только параметры oid, это будет работать, но вы не увидите ни одного названия, описания или изображения в приложении. Презентации начинаются okey. Но когда вы оставите все параметры emtpy, вы не увидите ни одного названия, описания или изображения в приложении. Таким образом, без api мы не можем создать объект динамически, я думаю. – Melvin

+0

Без api это сложно сделать динамически, но есть способы. ** Статический: ** Если у вас есть iPad, посетите URL-адрес http для своей презентации, скопируйте prezi: // url и используйте его в своем приложении. Если вы только хотите отображать одни и те же 1 или 2 презентации, объекты json всегда будут одинаковыми для каждого из них.** Динамический: ** Если вы будете постоянно направлять пользователей на новые презентации, создайте php-скрипт в Интернете, который посещает URL-адрес ipad http, а затем сбрасывает страницу для URL-адреса prezi: //. Это будет полностью динамическое решение. –

2

Похоже Prezi приложение не имеет общедоступный схему URL (это Prezi: // URL):

http://community.prezi.com/prezi/topics/does_ipad_prezi_viewer_have_a_url_scheme_so_other_apps_can_launch_it_and_open_a_specific_prezi_via

Если посмотреть на структуру сети link (который действительно открывает презентацию правильно), у него есть поле «& details = XYZ =» в конце, где XYZ - несколько сотен случайных символов.

Вы можете попробовать разместить этот полный URL-адрес, но я подозреваю, что это будет хрупкое решение, так как это, вероятно, nonce на основе вашей учетной записи пользователя и/или времени, когда вы обращались к нему.

Лучшее, что можно сделать, это, вероятно, добавить еще один запрос на эту доску сообщества, связанную выше.

+0

Ну, Лиам избил меня до удара. Этот элемент детали определенно необходим. – Freney

+0

+1 для поиска ссылки на эту тему. Я не мог найти нигде! –

Смежные вопросы