#iphone #ios #flash #actionscript-3
#iPhone #iOS #прошивка #actionscript-3
Вопрос:
В настоящее время я создаю приложение для iOS с flash CS5, и мне понадобится помощь с несколькими функциями:
- Можно ли добавлять покупки в приложении? Если да, то как это работает?
- Можно ли добавить рекламу iAd в приложение? Если да, то каким образом? Если нет, есть ли какая-нибудь хорошая альтернатива, которая работает с flash?
- Как я могу сохранить данные из приложения, чтобы они были там съедены, если пользователь перезапустит приложение и даже устройство (например, для изголовья кровати и тому подобное)?
Любая помощь приветствуется!!! : D
Ответ №1:
- Если бы это было несколько месяцев назад. Тогда ответом будет однозначное «нет«. Однако в настоящее время ответ «возможно» (или, если вы оптимист, «вероятно«). С выпуском Air 3.0 он теперь поддерживает собственные расширения. Эти расширения представляют собой собственный код, вокруг которого есть API-оболочка, поэтому их можно компилировать с помощью приложения Air и вызывать из него.
На самом деле, я решил быстро осмотреться, исследуя этот ответ, и нашел репозиторий, в котором, похоже, кто-то реализовал покупки в приложении через ANE. Но я не тестировал это расширение лично, но это может быть хорошей отправной точкой, чтобы увидеть, как оно реализовано.
Причина, по которой вы пока не найдете слишком много информации об ANE, заключается в том, что они были только недавно поддержаны в обновлении Air 3.0, которое произошло в прошлом месяце. В настоящее время они не поддерживаются в Flash CS5 (или 5.5) или Flash Builder 4.5. Они поддерживаются в Flash Builder 4.6, который в настоящее время находится в закрытом бета-тестировании. Но вы все равно сможете проникнуть, и он должен быть выпущен в ближайшее время.
Самым большим «недостатком» является то, что эти расширения должны быть разработаны в собственном формате для устройства, на которое вы ориентируетесь. Это означает, что если вы хотите создать расширение для iOS, то вы пишете его в Objective-C и xcode на mac.
- Практически тот же ответ, что и раньше. Это должно быть возможно с помощью ANE. Но я еще не нашел примеров того, как кто-либо это делал.
- Сохранить данные / состояние на устройстве очень просто. Вы захотите изучить
SharedObject.getLocal()
метод, если хотите использовать LSO. Или вы можете просто использовать низкоуровневуюFile
запись. ПроверьтеFile.applicationStorageDirectory
. Для конфиденциальной информации, которая должна быть зашифрована вEncryptedLocalStore
классе, который, я полагаю, поддерживается на iOS, но не на Android.Все это должно обеспечить хороший способ сохранения данных между сеансами приложения.
Комментарии:
1. я просто хотел бы добавить, что, хотя среда разработки Flash Builder 4.5 IDE не включает в себя какой-либо поддерживающий пользовательский интерфейс для новых функций AIR 3.0, очень просто создать свой собственный гибкий SDK с AIR 3.0, который позволит вам делать все, что вам нужно, с кодом: blogs.cynergysystems.com/2011/09/20 /…
2. @TheDarkIn1978. Согласен. Я делал это до того, как попал в бета-версию FB 4.6. Но я должен упомянуть несколько предостережений. Ориентироваться на среду выполнения AIR 3.0 / Flash 11 довольно просто (и полезно). Но для некоторых из более ориентированных на компилятор команд иногда довольно сложно правильно настроить интерфейс FB4.5, чтобы разрешить это (а именно, принудительную среду выполнения, а поддержка ANE в пользовательском интерфейсе затруднена). Проще просто вернуться к инструментам cmd и скомпилировать / упаковать вручную. Единственная причина, по которой я действительно упомянул об этом, заключается в том, что в OP упоминалось использование Flash CS5. Я просто хотел уточнить, что и где поддерживалось. 🙂
Ответ №2:
С AIR 3 теперь вы можете использовать собственные расширения для вызова собственного кода платформы для достижения функциональности, не предоставляемой API-интерфейсами AIR Actionscript. Чтобы ответить на ваши вопросы.
- покупка в приложении. У меня есть образец на http://code.google.com/p/in-app-purchase-air-ios
- iAd. У меня есть образец на http://code.google.com/p/iad-air-ios /
- Как уже ответили другие, используйте локальные общие объекты.