Cách tải ứng dụng lên App Store: các bước và các khía cạnh quan trọng. Cách đặt ứng dụng vào AppStore

Ngoài ra còn có một phần để bạn có thể chỉ định một bộ lắp ráp cụ thể sẽ được gửi để xem xét và sau đó đến cửa hàng. Lựa chọn không khả dụng cho đến khi chúng tôi tải bất kỳ bản dựng ứng dụng nào lên iTunes Connect. Chúng ta sẽ quay lại phần này sau:




Thiết lập dự án, xây dựng và tải lên

Mở dự án ứng dụng của bạn trong XCode, chuyển đến cài đặt dự án. Mã định danh gói phải khớp với BundleID mà bạn đã chỉ định khi tạo AppID. Bạn cũng cần tắt tính năng tự động ký trong XCode. Trong danh sách thả xuống Hồ sơ cung cấp, hãy chọn hồ sơ bạn đã tạo gần đây.



Xin lưu ý: nếu không có tất cả các biểu tượng bắt buộc (bao gồm biểu tượng cửa hàng 1024 điểm), bản dựng ứng dụng sẽ không được iTunes Connect tự động xác minh.


Dự án hiện có thể được tập hợp và gửi tới iTunes Connect. Để thực hiện việc này, hãy nhấp vào menu Sản phẩm - Lưu trữ. Kết quả của quá trình xây dựng, cửa sổ tổ chức XCode sẽ được hiển thị, nhấp vào nút “Tải lên App Store” ở đó:



Cửa sổ cài đặt tải lên trong App Store sẽ mở ra. Đọc thêm về bitcode, tước bỏ ký hiệu. Để lại các cài đặt không thay đổi.



Ở bước tiếp theo, bạn cần chọn hồ sơ cung cấp từ danh sách thả xuống gồm những hồ sơ phù hợp:



XCode sau đó sẽ chuẩn bị kho lưu trữ để tải lên iTunes Connect. Ở màn hình này hãy chú ý đến các thông số mà chúng ta đã thiết lập. Nhấp vào Tải lên.



Tùy thuộc vào tốc độ kết nối của bạn, bạn sẽ phải chờ một thời gian. Nếu mọi thứ đều ổn, XCode sẽ báo cáo việc tải lên iTunes Connect thành công. Bạn có thể chuyển sang giai đoạn cuối cùng.


Gửi để xem xét

Trong iTunes Connect, bạn có thể xem bản dựng đã tải lên trong tab Hoạt động. Đối với các dự án Swift, quá trình xác minh bản dựng tự động mất khoảng nửa giờ. Cho đến lúc đó, hội sẽ có trạng thái Đang xử lý:



Sau khi xác minh hoàn tất, lắp ráp có sẵn để lựa chọn trên trang thông tin phiên bản ứng dụng:



Lựa chọn lắp ráp:



Sau này, ứng dụng sẽ có biểu tượng trong iTunes Connect. Lưu các thay đổi của bạn. Bây giờ bạn có thể gửi lắp ráp để xem xét.



Sẵn sàng! Bạn đã làm mọi thứ có thể. Mong đợi một phản hồi trong vòng một vài ngày. Đừng quên iTunes Connect đang nghỉ lễ từ ngày 23 đến 27/12. Các nhà phát triển sẽ không thể cập nhật hoặc thêm ứng dụng mới vào App Store hoặc thay đổi thẻ giá. Tất cả các tính năng iTunes Connect khác sẽ khả dụng.

Lĩnh vực công nghệ máy tính hiện đang phát triển nhanh chóng. Để kiếm bộn tiền, giờ đây bạn không cần phải làm việc suốt ngày đêm - bạn chỉ cần nghĩ ra một ý tưởng thú vị, tập hợp một nhóm nhà phát triển, tạo một ứng dụng cho iOS và đưa nó lên App Store.

Triển vọng tạo và xuất bản ứng dụng cho iOS

Cho dù các nhà phát triển trẻ có tự hào về hy vọng của mình như thế nào thì thị trường ứng dụng cũng có rất ít điều thú vị. Trong số rất nhiều dự án, không có nhiều dự án trở nên phổ biến. Một công ty xuất sắc của Mỹ, Epp Promo, đã thực hiện một nghiên cứu tiếp thị và nhận được kết quả như sau: phần lớn những người sáng tạo ứng dụng được khảo sát cho biết 60% trò chơi hoàn toàn không kiếm được tiền và 82% nói rằng họ không thể tự nuôi sống mình bằng hoạt động kinh doanh này. Kết quả là họ phải làm việc ở nơi khác.

Apple tuyên bố rằng trang web của họ là một nơi tốt cho loại thu nhập này, nhưng trên thực tế mọi thứ lại khác. Để kiếm tiền (hoặc ít nhất là không bị đỏ), bạn cần phải lọt vào Top 100 hoặc Top 200. Các nhà phát triển khác giải thích hiện tượng này bằng cách nói rằng mọi người sẽ quá lười để cuộn xuống dưới để tìm sản phẩm bạn cung cấp. Nếu những điều trên không làm bạn sợ và bạn vẫn muốn tạo ứng dụng của riêng mình, hãy tiếp tục.

Cách tạo ứng dụng cho iOS và xuất bản trên App Store

Hãy cùng tìm hiểu những gì bạn cần làm để có được ứng dụng và bắt đầu kiếm tiền từ nó.

Cách cài đặt môi trường phát triển Xcode

Tạo một ứng dụng trong Xcode

  1. Cách tạo một dự án mới. Mở ứng dụng. Tiếp theo, chọn menu “tệp” và nhấp vào “tạo tệp mới”. Nhấp vào ứng dụng bên dưới “ios” ở bên trái cửa sổ. Chúng ta hãy đi đến phần mẫu. Bấm vào Ứng dụng trống.

    Trong giao diện chương trình chọn “Ứng dụng mới duy nhất”

    2. Tạo bảng phân cảnh. Storyboard có nhiệm vụ hiển thị các màn hình ứng dụng trong chương trình của bạn. Bảng phân cảnh hiển thị nội dung trên từng cửa sổ riêng lẻ và hiển thị cách chúng tương tác. Điều này giúp bạn có thể vận hành tốt trò chơi của mình. Tiếp theo, hãy làm như sau: Chọn Tệp, rồi Mới, rồi Tệp. Tiếp theo, nhấp vào “Giao diện người dùng”. Nhấp vào bảng phân cảnh và chọn “tiếp theo”. Trong menu thiết bị, bạn cần chọn thiết bị mà chương trình của bạn dự định sử dụng. Trong trường hợp của tôi - tôi gọi điện. Hãy đặt tên đối tượng là "Main".

    Trong Storyboard, chọn một thiết bị

    3. Chúng tôi chỉ định bảng phân cảnh cho dự án của bạn. Bây giờ chúng ta gán bảng phân cảnh làm giao diện chính của chương trình. Nếu mọi thứ được thực hiện chính xác, bảng phân cảnh sẽ có sẵn ngay khi chúng tôi khởi chạy chương trình của mình. Dưới đây là cách tiến hành: chọn tên tệp của bạn trong tab bên trái, nhấp vào mục tiêu và chọn dự án của bạn từ tiêu đề này. Chuyển đến menu Chung và chọn Thông tin triển khai. Trong Giao diện chính, nhập Main.Storyboard và chuyển sang bước tiếp theo.

    Nhập “Main.storyboard”

    4. Thêm màn hình đầu tiên. Đối với điều này, chúng ta cần một bộ điều khiển xem. Sử dụng chúng, chúng ta có thể tạo ra một cái nhìn gần đúng về ứng dụng. Ban đầu, bạn có thể khám phá các bộ điều khiển chế độ xem và chọn chúng từ một số cài đặt trước. Nếu đột nhiên bạn là người mới bắt đầu trong vấn đề này, thì tất nhiên, tốt hơn là bạn nên chọn từ những cái hiện có. Vì vậy, chúng ta sẽ xem ứng dụng sẽ trông như thế nào trong tay một người dùng bình thường. Chọn "Bảng phân cảnh chính". Tìm thư viện đối tượng. Ở dưới cùng bên phải, bạn có thể chọn Thư viện đối tượng tương tự. Ở bên phải bạn sẽ thấy một cửa sổ xuất hiện, được gọi là canvas. Kéo “Bộ điều khiển lượt xem” vào đó. Khi người dùng khởi chạy ứng dụng, anh ta sẽ thấy một cửa sổ tải. Chúc mừng!

    Thêm màn hình đầu tiên vào bảng điều khiển chế độ xem

    5. Thêm đối tượng vào màn hình của chúng tôi. Sau khi chọn bộ điều khiển chế độ xem, bạn có thể thêm đối tượng vào ứng dụng của mình. Chúng có thể được tìm thấy trong cùng một Thư viện đối tượng. Thư viện này có thể được tìm thấy bên trong bộ điều khiển xem.

    Sau đó, chúng tôi thêm các đối tượng giao diện vào màn hình của mình

    6. Thay đổi các đối tượng được thêm vào. Với sự trợ giúp của các công cụ đơn giản, bạn có cơ hội thay đổi giao diện, điều này sẽ tăng thêm vẻ đẹp và cá tính cho ứng dụng. Ngoài ra, bạn có thể thêm văn bản gợi ý cho người dùng để giúp họ hiểu trò chơi. Bạn cũng có thể thay đổi kích thước của đối tượng, phông chữ văn bản, v.v.

    Chúng tôi tạo một giao diện riêng và thay đổi thuộc tính của các đối tượng

    7. Thêm màn hình bổ sung. Ứng dụng của bạn không thể bao gồm một màn hình duy nhất - nó vô nghĩa. Vì vậy, bạn sẽ cần phải tự tạo chúng. Việc này được thực hiện cực kỳ đơn giản - một bộ điều khiển xem trên một phần trống của màn hình.

    Kéo bộ điều khiển chế độ xem vào phần trống của khung vẽ

    8. Kích hoạt “Bộ điều khiển điều hướng”. Chúng tôi sẽ sử dụng tính năng này để di chuyển giữa một số cửa sổ. Đạt được bằng cách sử dụng Bộ điều khiển Điều hướng. Thanh điều hướng được thêm vào đầu chương trình. Hãy nhớ rằng Bộ điều khiển Điều hướng được thêm hoàn toàn vào màn hình bắt đầu để điều khiển chuyển động trên tất cả các cửa sổ khác. Để thực hiện việc này, hãy chọn màn hình tải. Nhấp vào trình chỉnh sửa, sau đó nhấp vào Nhúng vào, sau đó nhấp vào Bộ điều khiển điều hướng. Sau khi hoàn thành các bước, một bảng điều hướng sẽ xuất hiện.

    Thêm thanh điều hướng theo hướng dẫn

    9. Thêm chức năng Bộ điều khiển Điều hướng. Khi menu điều hướng đã được tạo, các công cụ cần được thêm vào nó. Với tính năng này, người dùng sẽ có thể “di chuyển” ứng dụng từ nơi này sang nơi khác. Chúng tôi khuyên bạn nên thêm chức năng tiêu chuẩn. Thêm tiêu đề (để thực hiện việc này, hãy mở mục Mục điều hướng, sau đó là Trình kiểm tra thuộc tính, sau đó chúng ta nhập tiêu đề), nút Điều hướng và cung cấp các thuộc tính cho các nút.

    Thêm chức năng vào bảng điều khiển

    10. Liên kết màn hình với nút. Để liên kết các nút, hãy nhấn ctrl, sau đó kéo chúng sang màn hình tiếp theo. Ngay sau đó mục Action Segue sẽ xuất hiện với các tùy chọn có sẵn. Chọn “Đẩy” để di chuyển qua các cửa sổ.

    Liên kết một nút với màn hình

    11. Sử dụng các bước trên, bạn có thể tạo một chương trình có giao diện và chức năng rất nguyên thủy. Nếu bạn vẫn muốn tạo một ứng dụng thực sự thú vị với khả năng xử lý dữ liệu, hãy tìm hiểu Objective C.

    Đã đến lúc bắt đầu học ngôn ngữ lập trình

Cách kiểm tra ứng dụng đã tạo


Cách xuất bản


Các vấn đề có thể xảy ra và cách giải quyết chúng

Trong quá trình xét duyệt, đơn đăng ký của bạn có thể không được chấp nhận do không vượt qua được các bài kiểm tra ban đầu. Trong trường hợp này, Apple sẽ gửi cho bạn các giải pháp khả thi cho các vấn đề liên quan đến hoạt động của chương trình. Hãy lắng nghe họ và gửi đơn đăng ký để xem xét lại.

Đừng quên theo dõi doanh số bán hàng. Bạn có thể thực hiện việc này bằng iTunes Connect Mobile. Apple sẽ định kỳ gửi cho bạn thông báo kèm theo số liệu phân tích bán hàng, nhưng bạn cũng không nên tự mình theo dõi thông báo đó. Chúc may mắn và bán hàng tuyệt vời!

Hãy mô tả những gợi ý cho tương lai bố trí của họ chương trìnhđến cửa hàng ứng dụng Cửa hàng ứng dụng Apple. Mặc dù, như thực tế cho thấy, đây không phải là một vấn đề đáng mừng lắm, vì các đồng chí của Apple không có xu hướng nhất quán trong cơ chế hoạt động của hệ thống của họ. Tôi đã phát hiện ra điều này nhiều lần trong các thủ tục đăng ký khác nhau. Đọc tài liệu của những người đi trước và các câu hỏi trên các diễn đàn, bạn thường có thể gặp phải tình huống mà cùng một thời điểm lại có vẻ khác với bạn. Tuy nhiên, khái niệm chung cho đến nay vẫn giữ nguyên. Và vì vậy, tôi sẽ cố gắng mô tả toàn bộ bức tượng khổng lồ này bằng từ ngữ của mình))
Để tải ứng dụng lên AppStore, điều kiện tiên quyết là trạng thái.
Toàn bộ quá trình có thể được chia thành hai giai đoạn: chuẩn bị và xuất bản.
Chuẩn bị (Cung cấp). Giai đoạn khó hiểu nhất (ít nhất là đối với tôi).
Nó bao gồm việc tạo Id ứng dụng) và giấy chứng nhậnchữ ký ứng dụng. Tất cả điều này được thống nhất dưới khái niệm chung về một hồ sơ ( Hồ sơ cung cấp). Nhưng mọi thứ đều theo thứ tự. Phần khó nhất của tất cả điều này là tạo chứng chỉ. Chứng chỉ này được yêu cầu để ký điện tử vào đơn đăng ký. Có hai loại chứng chỉ - chứng chỉ Phát triển và chứng chỉ Phân phối. Từ cái tên, không khó để đoán rằng loại thứ nhất là cần thiết để phát triển, loại thứ hai là để phân phối. Cái đầu tiên có thể ký ứng dụng và chạy nó trên thiết bị của bạn (vì mục đích gỡ lỗi), cái thứ hai là cần thiết để tập hợp ứng dụng cho ấn phẩm trong cửa hàng ứng dụng. Để có thể chạy ứng dụng trên tiện ích của mình, bạn phải đăng ký thiết bị của mình với Cổng cung cấp. Điều này được thực hiện như sau. Trong môi trường xCode, hãy mở Trình tổ chức (Cửa sổ -> Trình tổ chức), kết nối tiện ích của bạn với máy tính (ví dụ: qua USB), chúng tôi thấy rằng nó xuất hiện trong phần Thiết bị. Sao chép DeviceID (chuỗi hex dài) của nó vào bộ đệm và đi tới Cổng cung cấp trong phần Thiết bị. Ở đó chúng tôi nhấn Thêm thiết bị, sau đó mọi thứ đều đơn giản.

Thêm. Bây giờ hãy tạo chứng chỉ. Nó không khó lắm nhưng nó khiến tôi phải mày mò. Tôi sẽ không đi vào chi tiết, tất cả những điều này có thể được tìm thấy trong phần Hướng dẫn bên trong Cổng cung cấp. Tôi sẽ chỉ phác thảo các bước chính:
— Tạo yêu cầu ký chứng chỉ (bao gồm tạo cặp khóa chung và khóa riêng). Kết quả là chúng tôi nhận được tệp CSR trên đĩa.
- Gửi yêu cầu ký chứng chỉ. Trong Cổng cung cấp, đi tới phần Chứng chỉ, chỉ định tệp CSR, nhấp vào Gửi, chứng chỉ được tạo và chuyển đến Chờ phê duyệt.
— Trong Cổng cung cấp, đi tới phần Chứng chỉ và xác nhận chứng chỉ (nhấp Phê duyệt)
– Tải và cài đặt chứng chỉ vào hệ thống. Trong Cổng cung cấp, hãy chuyển đến phần Chứng chỉ. Nhấp vào liên kết Chứng chỉ trung cấp WWDR, mà chúng tôi được đề nghị lưu tệp .cer. Chúng tôi đồng ý và sau khi tải xuống hoàn tất, hãy nhấp vào nó. Chương trình Truy cập chuỗi khóa khởi động và nhắc bạn cài đặt chứng chỉ trên hệ thống. Chúng tôi đồng ý và bây giờ chúng tôi có chứng chỉ để phát triển.
Một bước quan trọng: Apple thực sự khuyên bạn nên lưu khóa riêng đã tạo. Nếu nó bị mất, mọi nỗ lực của chúng ta sẽ trở nên vô ích, chúng ta sẽ không thể ký được gì nữa. Thật tốt là tôi đã nhớ ra điều này, vì tôi vẫn chưa sao lưu chìa khóa của mình. Tuy nhiên, một điều hữu ích là một blog)))
Đối với chứng chỉ phân phối, mọi thứ đều giống nhau, ngoại trừ việc không cần tạo khóa nữa.
Vậy là chúng ta đã tạo được chứng chỉ rồi, bây giờ thì sao? Bây giờ bạn cần tạo cái gọi là Hồ sơ cung cấp (Tôi không có đủ trí tưởng tượng để dịch sang tiếng Nga). Hồ sơ cung cấp (hãy gọi như vậy) là sự kết hợp giữa chứng chỉ và mã định danh ứng dụng. Chúng tôi đã có chứng chỉ, hãy tạo mã nhận dạng ứng dụng. Để thực hiện việc này, hãy truy cập Cổng cấp phép trong Setzky AppID. Nếu bạn không tính đến khái niệm nhận dạng ứng dụng “lô” thì mọi thứ đều đơn giản: nhấp vào ID ứng dụng mới, nhập
— Mô tả (ví dụ: Ứng dụng tuyệt vời của tôi)
- Bundle Seed ID (Tiền tố ID ứng dụng) - nếu đây là ứng dụng đầu tiên của chúng tôi thì sẽ chỉ có một mục trong danh sách - Tạo mới, nếu không nó sẽ chứa mã định danh của các ứng dụng đã tạo trước đó (theo dự định, các ứng dụng có thể được kết hợp thành các gói (dãy phòng))
— Mã định danh gói (Hậu tố ID ứng dụng) — bạn nên nhập nó theo kiểu được gọi là kiểu miền đảo ngược. Tức là miền có thứ tự ngược lại. Ví dụ, trong ứng dụng đầu tiên của tôi Hiệp sĩ di chuyển mã định danh này trông giống như ru.heximal.knightmove.
Nhấp vào Triệu tập. Vậy là ID ứng dụng đã được tạo.
Tiếp theo, đi đến phần Cung cấp và tạo hồ sơ cho ứng dụng của chúng tôi (nhấp vào Hồ sơ mới). Đối với hồ sơ phát triển, hãy nhập
— Tên hồ sơ - dưới tên này, hồ sơ sẽ được hiển thị trong xCode. Ví dụ: KnightMove DevelopmentProfile
— Chứng chỉ — đánh dấu vào chứng chỉ của chúng tôi
— ID ứng dụng — chọn ứng dụng của chúng tôi
— Thiết bị — đánh dấu vào những thiết bị đã được đăng ký — có thể có nhiều hơn một thiết bị. Tôi đang nghĩ đến việc mua một chiếc iPhone thứ 4 để gỡ lỗi (ý tôi là, không phải chiếc thứ tư liên tiếp - tôi vẫn có một chiếc, nhưng với phần sụn thứ tư). Nhìn về phía trước một chút, tôi sẽ nói rằng ở giai đoạn thứ hai, câu hỏi sẽ được đặt ra, chúng ta đã thử nghiệm ứng dụng của mình trên iOS 4 chưa? Tôi phải trả lời là Không. Mặc dù tôi có thể khởi động lại thiết bị của mình nhưng iTunes luôn báo hiệu rằng có phiên bản chương trình cơ sở mới. Nhưng tôi chưa vội, vì trong tình huống này, tôi sẽ không có cơ hội thử nghiệm trên phần sụn thứ ba ngoại trừ trong trình mô phỏng.
Chúng tôi đã tạo một hồ sơ, đợi nó được phê duyệt, tải xuống tệp hồ sơ (.provisionprofile), mở cửa sổ Trình tổ chức và kéo và thả tệp hồ sơ vào đó. Nó cài đặt thành công. Tất cả.
Bây giờ hãy mở Cài đặt dự án, tìm tùy chọn Ký mã tiểu mục Bất kỳ hệ điều hành iPhone nào, mở rộng danh sách, chọn hồ sơ của bạn, đóng các tùy chọn dự án. Tiếp theo là một điểm quan trọng. Trong cấu trúc dự án (trong thanh bên dạng cây), hãy mở rộng nhánh Mục tiêu, nhấp chuột phải vào mục tiêu, chọn Nhận thông tin. Các tùy chọn dự án lại xuất hiện nhưng có phần Thuộc tính. Chúng tôi đến đó và nhập vào trường Mã định danh giá trị mà chúng tôi đã nhập khi tạo ID ứng dụng trong trường Mã nhận dạng gói(ví dụ ru.heximal.knightmove). Tất cả. Chúng tôi đảm bảo rằng thiết bị đã được kết nối, chọn cấu hình Thiết bị|Gỡ lỗi trong cửa sổ xCode chính và nhấp vào Build And Go.
Sau khi chúng ta đã sửa lỗi ứng dụng trên thiết bị, đã đến lúc tập hợp bản phân phối để xuất bản. Để làm điều này, chúng tôi lặp lại quá trình tạo hồ sơ phân phối. Nó tương tự như việc tạo một hồ sơ phát triển. Cài đặt hồ sơ trong xCode, sau đó bạn cần thực hiện thủ thuật tiếp theo. Bạn cần tạo cấu hình Phân phối mới. Mở các tùy chọn dự án, phần Cấu hình, chọn cấu hình Phát hành ở đó và nhấp vào Sao chép. Nhập tên Phân phối. Tiếp theo, trong cửa sổ Target ở phần Build, chọn cài đặt cho cấu hình Phân phối và trong trường Nhận dạng ký mã- Bất kỳ thiết bị hệ điều hành iPhone nào, hãy chọn Hồ sơ phân phối. Trên tab Thuộc tính, đừng quên nhập Mã định danh gói nếu bạn chưa nhập. Đóng các tùy chọn và trong cửa sổ xCode chính, chọn cấu hình Thiết bị | Phân phối. Tiếp theo, sẽ rất tốt nếu bạn thực hiện theo quy trình lắp ráp. Để thực hiện việc này, hãy chuyển đến menu Xây dựng - Kết quả xây dựng. Ở đó chúng tôi định cấu hình nó để hiển thị nhật ký biên dịch. Nhấp vào Xây dựng. Nhiều dòng xuất hiện, ở cuối dòng này chúng tôi tìm các từ TreatmentProductPackaging ... embed.mobileprovision và CodeSign. Đây là nơi tôi đã dành rất nhiều thời gian. Tệp kiên quyết từ chối xuất hiện trong gói ứng dụng embed.mobileprovision. Và không có nó, ứng dụng sẽ không muốn được tải lên AppStore. Đây là hậu quả của việc trước đây tôi đã thử nghiệm các chứng chỉ tự tạo và vô hiệu hóa hệ thống cung cấp. Sau đó, tôi đã khôi phục (nhân tiện, khen ngợi blog của mình) chuỗi hành động dẫn đến hệ thống lập hồ sơ không hoạt động được, nhưng phải mất thời gian... Nói chung, như tôi đã nói trước đây, đừng keo kiệt, đó là tốt hơn hết bạn nên tham gia Chương trình dành cho nhà phát triển iPhone ngay lập tức, tất nhiên trừ khi bạn là những kẻ bạo dâm))
Gói ứng dụng là một thư mục đơn giản có phần mở rộng .app chứa tệp thực thi và tất cả nội dung (tài nguyên) của ứng dụng. Trên thực tế, các ứng dụng của Mac OS X hoàn toàn giống nhau, vì vậy bạn chỉ cần kéo chúng đến một nơi khác và nó sẽ khởi chạy từ đó vì nó chứa mọi thứ bạn cần trong thư mục. Tất nhiên, đây là lợi thế không thể phủ nhận của khái niệm không đăng ký. Và vì vậy, chúng tôi nén gói ứng dụng của mình, từ đó chuẩn bị cho giai đoạn tiếp theo.
Sự xuất bản.
Các hành động tiếp theo được thực hiện trên cổng thông tin Kết nối iTunes(itunesconnect.apple.com) Đi tới phần Quản lý ứng dụng của bạn và nhấp vào Thêm ứng dụng mới. Đi vào
— Tên ứng dụng — tên của ứng dụng, nó sẽ trông như thế nào trong AppStore. Khi xuất bản ứng dụng thứ hai, tôi phải đối mặt với thực tế là tên này phải là duy nhất cho toàn bộ AppStore. Nghĩa là, nếu chúng tôi quyết định đặt tên cho ứng dụng theo một cách nào đó và một ứng dụng có tên đó đã tồn tại, chúng tôi sẽ phải nghĩ ra một cái gì đó khác. Bạn cũng nên tính đến các yêu cầu riêng của Apple đối với tên của ứng dụng http://www.apple.com/legal/trademark/guidelinesfor3rdparties.html
— Số SKU - một lần nữa là một loại mã định danh ứng dụng duy nhất, tôi không hiểu tại sao nó lại cần thiết, nhưng tôi quyết định tuân thủ một quy tắc nhất định để tạo tham số này, như hex_app_0001
- ID gói chọn ứng dụng của chúng tôi
Sau đó, mọi thứ có vẻ rõ ràng, bạn cần điền thông tin meta về ứng dụng: mô tả, danh mục, bản địa hóa, ảnh chụp màn hình, biểu tượng. Sau tất cả những điều này, ứng dụng sẽ chuyển sang trạng thái Đang chờ tải lên. Để tải xuống tệp nhị phân, bạn cần có chương trình Trình tải ứng dụng từ gói Nhà phát triển. Nếu nó không có sẵn, bạn sẽ cần phải cài đặt nó. Chúng tôi khởi chạy nó, nó yêu cầu ID Apple và mật khẩu của chúng tôi, sau đó hiển thị danh sách các ứng dụng đang chờ tải lên. Chọn, tải xuống. Nhân tiện, ở giai đoạn này, tôi đã gặp vấn đề cho đến khi khôi phục cơ chế lập hồ sơ và mã hóa bị vô hiệu hóa - nếu không có chúng, người tải lên sẽ không muốn tải ứng dụng.
Thế là xong, sau khi tải ứng dụng sẽ được chuyển sang trạng thái Đang chờ xem xét- đang chờ xem xét. Việc đánh giá sẽ được thực hiện bởi các chuyên gia của Apple về việc tuân thủ các yêu cầu. Các yêu cầu này được mô tả trong Hướng dẫn phát triển ứng dụng iPhone và bao gồm các khía cạnh như tuân thủ thiết kế tổng thể, sử dụng hợp lý các tài nguyên của thiết bị như bộ nhớ, mức tiêu thụ điện năng, hiệu suất và đơn giản là thân thiện với người dùng. Apple tiếp cận điều này rất có trách nhiệm. Họ có thể đóng nó, chẳng hạn, nếu ứng dụng mất nhiều thời gian để đóng, tôi không nói về rò rỉ bộ nhớ. Để tránh những rắc rối này, ứng dụng phải được kiểm tra kỹ lưỡng trước khi xây dựng bản phân phối. Gói Nhà phát triển chứa một bộ công cụ (ứng dụng Dụng cụ). Với sự giúp đỡ của nó, bạn có thể tìm hiểu rất nhiều về ứng dụng của mình. Ví dụ, sau khi viết ứng dụng đầu tiên và chạy nó thông qua chương trình giám sát rò rỉ và phân bổ bộ nhớ, tôi phát hiện ra rằng nó đã bị rò rỉ một cách vô vọng. Đã dành vài ngày trên loại bỏ rò rỉ. Sau này tôi sẽ đăng một hướng dẫn nhỏ về cách sử dụng các công cụ này.
Là một người mới, tôi nghĩ rằng trạng thái Chờ xem xét có nghĩa là ứng dụng đã được xem xét, nhưng sau một tuần tôi nghi ngờ có gì đó không ổn và quyết định viết thư để hỗ trợ. Ngày hôm sau họ trả lời tôi và ngay lập tức nhận được thông báo ứng dụng đã được chuyển sang trạng thái OnReview. Sau đó mọi thứ ngay lập tức trở nên rõ ràng. Một ngày rưỡi nữa trôi qua và ứng dụng đã chuyển sang trạng thái Sẵn sàng để bán. Thế là xong, chiến thắng. Đường dẫn đến kho ứng dụng cuối cùng cũng đã hoàn thành.
Có một chút bối rối xảy ra do thiếu kinh nghiệm khi tôi cố gắng tìm ứng dụng của mình trong AppStore vào cùng ngày không thành công. Anh ấy không có ở đó. Hóa ra sau này, đây là một tình huống bình thường. Có một khoảng thời gian lập chỉ mục nhất định. Theo quan sát của tôi thì đó là một ngày. Ứng dụng thứ hai cũng xuất hiện sau đó một ngày. Nhân tiện, với đơn đăng ký thứ hai, tình trạng chờ xem xét lại lặp lại. Đúng là tôi đã đợi hơn một tuần mới viết thư ủng hộ. Sau khi hết kiên nhẫn, tôi viết thư và họ ngay lập tức trả lời tôi và đơn đăng ký đã được gửi đi xem xét. Rõ ràng đây là một mô hình. Hãy xem nào.

Và cuối cùng. Khi xuất bản một ứng dụng, trường bắt buộc trong meta là trang hỗ trợ kỹ thuật. Điều này thôi thúc tôi cải thiện trang phản hồi của mình. Bây giờ cô ấy nói tiếng Anh))


Quy tắc chấp nhận ứng dụng trong App Store

Các biên tập viên của App Store lựa chọn cẩn thận các ứng dụng, thường từ chối xuất bản. Quá trình xem xét đơn đăng ký mới sẽ mất thêm hai tuần nữa. Số lần từ chối của chúng tôi lên tới sáu, phải mất cả ba tháng để xuất bản đơn đăng ký.

Tin vui là Apple đã mô tả các yêu cầu ứng dụng trong .

2. Chức năng

Các biên tập viên của App Store từ chối các ứng dụng
2.1 đang giảm
2.2 có lỗi hiển thị
2.3 không làm những gì được viết trong mô tả
2.4 chứa các tính năng không có giấy tờ hoặc bị ẩn
2.5 sử dụng API iOS không có giấy tờ
2.6 tải xuống, cài đặt hoặc chạy mã thực thi
2.7 phiên bản "beta", "demo" và "thử nghiệm"
2.13 chỉ chứa tài liệu quảng cáo và tiếp thị
2.18 chấp thuận việc sử dụng quá nhiều rượu hoặc ma túy, khuyến khích trẻ uống rượu và hút thuốc
2.19 thực hiện chẩn đoán không chính xác hoặc hiển thị dữ liệu thiết bị không chính xác
2.25 hiển thị các ứng dụng từ các nhà phát triển khác để quảng cáo hoặc mua trong giao diện giống AppStore

Các biên tập viên CÓ THỂ từ chối các ứng dụng:
2.11 lặp lại các ứng dụng đã có trong App Store, đặc biệt nếu đã có rất nhiều ứng dụng ở đó, chẳng hạn như: đèn pin, Kama Sutras, ứng dụng đánh rắm.
2.12 các trang web không đặc biệt hữu ích, độc đáo hoặc đơn giản được thiết kế dưới dạng ứng dụng
2.22 tùy ý hạn chế người dùng ứng dụng, ví dụ theo vị trí hoặc nhà cung cấp dịch vụ di động

Các ứng dụng iPhone 2.10 sẽ chạy trên iPad ở kích thước bình thường và gấp đôi.
2.15 Người dùng sẽ chỉ có thể tải xuống các ứng dụng lớn hơn 50 megabyte qua WiFi

2.20 Các nhà phát triển làm xáo trộn App Store với các phiên bản khác nhau của cùng một ứng dụng sẽ bị chặn.

2.21 Các ứng dụng chỉ chứa một bài hát hoặc phim phải có trong iTunes Store, chỉ có một cuốn sách trong iBookStore.

3. Siêu dữ liệu (tên, mô tả, biểu tượng)

Phần mô tả ứng dụng không nên "cá" 3.2 mà hãy nhắc đến tên các nền tảng di động 3.1 khác (Android, Windows Phone...). Mô tả phải tương ứng với chức năng của ứng dụng 3.3

3.4 Tên ứng dụng trong iTunes và trên màn hình của thiết bị phải giống nhau.
3.5 Biểu tượng ứng dụng lớn và nhỏ phải giống nhau
3.6 Mô tả và biểu tượng phải có xếp hạng 4+ (có thể hiển thị cho trẻ bốn tuổi).

3.10 Các nhà phát triển mua hoặc tạo đánh giá của người dùng hoặc thao túng các vị trí đứng đầu App Store sẽ bị chặn.

4. Vị trí

Các biên tập viên từ chối các ứng dụng
4.1 không yêu cầu người dùng đồng ý trước khi xác định vị trí của mình
4.2 sử dụng vị trí địa lý để tự động điều khiển ô tô, máy bay hoặc các thiết bị khác, 4.3 gọi dịch vụ khẩn cấp hoặc điều khiển chuyến bay
4.4 Việc lấy dữ liệu vị trí địa lý phải liên quan trực tiếp đến chức năng của ứng dụng hoặc hiển thị quảng cáo

5. Thông báo đẩy

Các ứng dụng sử dụng thông báo đẩy không chính xác sẽ bị từ chối.

5.1 Thông báo đẩy phải được triển khai thông qua API thông báo đẩy của Apple (APN)
5.3 Bạn phải có sự đồng ý của người dùng trước khi gửi thông báo
5.4 Thông báo đẩy không được gửi thông tin cá nhân hoặc bí mật
5.7 Bạn không thể tính phí người dùng sử dụng thông báo đẩy

Bạn không được gửi vi-rút, Trojan (5.9), thư rác (5.5) hoặc quảng cáo (5.6).

6.Trung tâm trò chơi

ID người chơi không thể được hiển thị cho người chơi hoặc người khác (6.1) và không thể được sử dụng ngoài những gì được mô tả trong quy tắc của Trung tâm trò chơi (6.2)

9. Đa phương tiện

9.1 Cần có ứng dụng sử dụng MediaPlayer Framework để truy cập thư viện nhạc của thiết bị
9.2 Các ứng dụng tương tự giao diện iPod sẽ bị từ chối

Yêu cầu để truyền dữ liệu qua mạng di động (qua WiFi bạn có thể truyền phát theo ý muốn):
9.3 Âm thanh không quá 5 MB trong 5 phút
9.4 Video dài hơn 10 phút phải sử dụng tính năng Phát trực tiếp HTTP và bao gồm phiên bản âm thanh 64kpbs

11. Mua sắm

Ứng dụng hoặc giao dịch mua càng đắt thì Apple càng kiểm tra cẩn thận (11.11)


11.1 mở hoặc mở khóa chức năng mới không sử dụng cơ chế AppStore
11.2 sử dụng các cơ chế khác ngoài Mua trong ứng dụng (IAP) để mua nội dung, mở khóa các tính năng hoặc cung cấp dịch vụ trong ứng dụng
11.3 bán hàng hóa từ thế giới thực (vé xem phim, pizza) hoặc các dịch vụ được sử dụng bên ngoài ứng dụng (rửa xe) thông qua IAP
(trên thực tế, điều khoản 11.3 có nghĩa là hàng hóa và dịch vụ vật chất được sử dụng bên ngoài ứng dụng có thể được bán không thông qua IAP: thẻ tín dụng, SMS)
11.5 bán các khoản vay đã hết hạn
11.8 mở khóa quyền truy cập vào các chức năng của điện thoại thông minh, chẳng hạn như máy ảnh hoặc con quay hồi chuyển, để kiếm tiền
11.9 bán nội dung cho thuê (sẽ không còn khả dụng theo thời gian)
11.13 chứa các liên kết đến các cơ chế mua hàng bên ngoài, chẳng hạn như nút “mua” dẫn đến trang web có biểu mẫu mua hàng

Có bốn loại IAP:
- vật phẩm tiêu hao (có thể mua nhiều lần: đạn, sức khỏe, tín dụng Skype)
- vật phẩm không tiêu hao (mua một lần: phim, sách, chức năng ứng dụng, cấp độ mới)
- tự động gia hạn đăng ký
- đăng ký được cập nhật thủ công

Bạn phải đặt chính xác loại IAP của mình (11.7), ví dụ: không tiêu thụ được cho phim hoặc các tính năng bổ sung, đăng ký để thanh toán định kỳ.

Đăng ký tự động gia hạn sẽ tự động ghi nợ tiền từ thẻ của người dùng. Chúng chỉ có thể được sử dụng cho: tạp chí định kỳ (tạp chí, báo), đăng ký các ứng dụng kinh doanh và ứng dụng truyền thông (âm nhạc, video) (15.11).

Các ứng dụng Có thể sử dụng nội dung (tạp chí, âm nhạc, phim) được mua bên ngoài ứng dụng, trừ khi bạn cung cấp liên kết đến cơ chế mua hàng bên ngoài. (11.14)

Nếu bạn sử dụng mua hàng trong ứng dụng, tôi khuyên bạn nên đọc Bắt đầu với mua hàng trong ứng dụng

13 thiệt hại

Các biên tập viên từ chối các ứng dụng:
13.1 đề nghị người sử dụng sử dụng thiết bị có thể gây hư hỏng (ném qua cửa sổ, đập bàn)
13.2 nhanh hao pin hoặc nóng máy

Người chỉnh sửa CÓ THỂ từ chối một ứng dụng có thể gây tổn hại về mặt vật lý cho người dùng.


15 bạo lực

Các biên tập viên từ chối các ứng dụng có chứa
15.1 hình ảnh thực tế về người hoặc động vật bị giết, bị thương, bị bắn, bị đâm, bị tra tấn, bị thương
15.2 mô tả bạo lực hoặc lạm dụng trẻ em
15.4 Mô tả thực tế về vũ khí khuyến khích việc sử dụng bất hợp pháp hoặc liều lĩnh
Trò chơi Roulette Nga 15.5

15.4 "Kẻ thù" trong trò chơi không được đại diện cho bất kỳ chủng tộc, quốc gia, văn hóa, chính phủ hoặc tập đoàn thực sự nào.

17 Quyền riêng tư

17.1 Các ứng dụng phải xin phép người dùng để truyền dữ liệu về người đó và cho biết vị trí và lý do dữ liệu này sẽ được sử dụng.
17.2 Người biên tập từ chối các ứng dụng không hoạt động nếu người dùng không cung cấp thông tin cá nhân (email, ngày sinh, ...)

18 Nội dung khiêu dâm

18.1 Ứng dụng không được chứa nội dung khiêu dâm.
18.2 Người biên tập từ chối các ứng dụng có nội dung do người dùng tạo thường mang tính khiêu dâm (ví dụ: trò chuyện-roulette)

Định nghĩa nội dung khiêu dâm: Mô tả hoặc mô tả rõ ràng bộ phận sinh dục hoặc hành động nhằm mục đích kích thích tình dục hơn là hấp dẫn về mặt thẩm mỹ hoặc cảm xúc.

20. Các cuộc thi, rút ​​thăm trúng thưởng, xổ số, xổ số và cờ bạc

20.1 Rút thăm trúng thưởng và các cuộc thi phải được tài trợ bởi nhà phát triển (hoặc khách hàng) của ứng dụng
20.2 Quy tắc rút thăm trúng thưởng và thi đấu phải được trình bày trong đơn đăng ký. Các quy tắc của họ phải làm rõ rằng Apple không liên quan gì đến đối thủ cạnh tranh.
20.3 Nhà phát triển phải có giấy phép hoạt động xổ số.
20.4 Bạn không thể bán vé số trong ứng dụng
20.5 Nhà phát triển trò chơi ăn tiền thật (cá cược thể thao, poker, sòng bạc, cá cược đua ngựa) phải có giấy phép và giấy phép ở tất cả các quốc gia nơi ứng dụng có sẵn. Trò chơi ăn tiền thật sẽ miễn phí trên AppStore
20.6 Trong trò chơi bằng tiền thật, bạn không thể bán tín dụng cho IAP (nghĩa là bạn có thể rút tiền thắng thành tiền thật, bạn không thể đặt cược cho IAP)

22. Yêu cầu pháp lý

Các biên tập viên từ chối các ứng dụng:
22.4 cho phép chia sẻ tập tin bất hợp pháp
22.5 chứa quảng cáo cờ bạc
22.6 cho phép gọi điện hoặc SMS ẩn danh

22.9 Hồ sơ tính liều thuốc phải do nhà sản xuất thuốc, bệnh viện, công ty bảo hiểm hoặc viện nghiên cứu cấp

24. Ứng dụng dành cho trẻ em

Các ứng dụng trong danh mục "Dành cho trẻ em" trên App Store phải dành cho một độ tuổi cụ thể: dưới 5 tuổi, 6-8 tuổi hoặc 9-11 tuổi (24.4)

Ứng dụng dành cho trẻ em dưới 13 tuổi:
24.1 phải có chính sách bảo mật
24.3 Phải xin phép phụ huynh đối với mọi liên kết hoặc mua hàng ngoài ứng dụng
24.2 không thể hiển thị quảng cáo theo ngữ cảnh hoặc quảng cáo dựa trên hành vi của người dùng

Chúng tôi sẽ không nói về cách nộp thuế chính xác và gửi tờ khai qua Internet - đôi khi chúng tôi sẽ nói về vấn đề này trong các ấn phẩm sau.

Thay vào đó, chúng tôi sẽ chia sẻ kinh nghiệm thâm nhập AppStore. Hàng nghìn ứng dụng được thêm vào nó mỗi ngày, những dòng sông xanh với những mảnh giấy sắc nét chảy vào túi các nhà phát triển (và Apple), và hàng trăm lập trình viên và công ty mới đã đăng ký tham gia chương trình dành cho nhà phát triển iOS. Sự phổ biến ngày càng tăng của nền tảng iOS khiến chúng tôi phải suy nghĩ - tại sao không viết ứng dụng của riêng mình cho iPhone? Nhân tiện, ứng dụng của chúng tôi hoàn toàn miễn phí :)

Chúng tôi sẽ không đi sâu vào chi tiết về tất cả những thăng trầm trong quá trình phát triển ứng dụng trong nhóm, nhưng kinh nghiệm đăng ký công ty của chúng tôi trong chương trình nhà phát triển Apple có thể hữu ích. Chúng tôi sẽ mô tả toàn bộ quá trình một cách chi tiết, từng bước và kèm theo hình ảnh.

Trở thành Nhà phát triển của Apple

Truy cập thẳng vào trang https://developer.apple.com/programs/ios.

Trước hết, chúng tôi sẽ được hỏi liệu chúng tôi muốn tham gia chương trình với tư cách là nhà phát triển Apple đã đăng ký hay với tư cách là người mới? Chúng tôi là người mới bắt đầu, vì vậy chúng tôi chọn mục “Nhà phát triển Apple mới” với tùy chọn tạo ID Apple mới.

Trên màn hình tiếp theo, câu hỏi quan trọng là chúng ta là công ty hay nhà phát triển. Hãy thoải mái chọn “Công ty” và chuẩn bị cho điều tồi tệ nhất.

Họ hỏi chúng tôi khá nhiều thông tin cá nhân và thậm chí cả thông tin thân mật - từ họ và tên đến địa chỉ cơ quan và số điện thoại.

Tiếp theo, chúng tôi sẽ được yêu cầu chọn danh mục ứng dụng mà chúng tôi muốn phát triển, chúng tôi đang nhắm mục tiêu vào thị trường nào và chúng tôi sẽ phát triển nền tảng nào (iOS, Mac OS X hoặc Safari), chúng tôi đã phát triển được bao nhiêu năm và (nhìn kỹ vào mắt) họ sẽ hỏi liệu chúng tôi có đang phát triển các ứng dụng “bên lề”… theo nghĩa dành cho các nền tảng di động khác hay không.



Bước cuối cùng là kiểm tra thỏa thuận cấp phép (Tôi đồng ý, tôi xác nhận, tôi không phản đối, tôi hoàn toàn ủng hộ)

Và nhập mã xác nhận sẽ được gửi đến e-mail được chỉ định ở đầu.

Chúc mừng! Bây giờ bạn đã là Nhà phát triển danh dự của Apple! Một trong số hàng ngàn... nhưng thật là một!

Đăng ký công ty trong Chương trình dành cho nhà phát triển iOS

Để đăng ký một công ty trong Chương trình dành cho nhà phát triển iOS, Apple cần biết tên, địa chỉ và số điện thoại của công ty,

Cũng như chi tiết liên hệ của người chịu trách nhiệm đăng ký Chương trình dành cho nhà phát triển iOS và người có tất cả các quyền cần thiết cho việc này.

Chọn Chương trình dành cho nhà phát triển iOS,

Xác nhận tất cả thông tin đã nhập trên một màn hình riêng

Và chúng tôi đang chờ xác nhận từ Apple. Thường mất khoảng một ngày để xử lý đơn đăng ký. Sau khi xác nhận đơn đăng ký, bạn sẽ cần phải đồng ý với thỏa thuận cấp phép của Apple và trả tiền (cuối cùng!) để tham gia chương trình.

Vì chưa có Apple Store ở Nga nên phương thức thanh toán duy nhất là điền vào một biểu mẫu đặc biệt (với dữ liệu rất riêng tư về một trong các thẻ ngân hàng của bạn, từ đó Apple sẽ kiếm được tới 99 đô la bằng đôi bàn tay nhỏ bé tham lam của mình). Đối với hình thức này, chúng tôi đã phát hành thẻ ngân hàng ảo với giới hạn 100 USD. Biểu mẫu đã hoàn thành phải được gửi đến Apple. Trong khoảng một ngày, bạn sẽ nhận được xác nhận về việc ghi nợ tiền.

Chúng tôi chứng minh sự tồn tại của mình và rèn luyện khả năng nói tiếng Anh

Có vẻ như vậy đó? KHÔNG! Bây giờ bạn phải chứng minh rằng bạn không phải là lạc đà.
Apple phải đảm bảo rằng công ty của bạn thực sự tồn tại chính thức, vì vậy bạn cần lấy một bản trích từ Cơ quan đăng ký pháp nhân thống nhất của bang với thông tin về công ty của bạn, dịch nó sang tiếng Anh và gửi cho Apple... đúng vậy, qua fax . Với số điện thoại, tên công ty và số đơn đăng ký của bạn được viết trên một tờ giấy riêng. Đồng thời - một chi tiết quan trọng! - tên công ty của bạn trong bản dịch phải khớp CHÍNH XÁC với tên đã khai báo khi đăng ký công ty trong Chương trình dành cho nhà phát triển iOS. Hãy kiên nhẫn - Các quan chức của Apple sẽ bắt đầu xem xét các tài liệu đã gửi trong khoảng một tuần và bất kỳ điểm tối nào trên bất kỳ trang nào sẽ dẫn đến một lá thư lịch sự yêu cầu họ chuyển tiếp chúng Tất cả một lần nữa một lần nữa. Và chờ đợi một lần nữa.

Apple sau đó sẽ gọi cho bạn để xác minh rằng bạn thậm chí còn tồn tại. Và trong tiếng Anh nó sẽ nói thế - HIP-HIP-HURRAY! - mọi thứ đều đúng với tài liệu và bạn đã được cấp quyền truy cập vào cổng thông tin dành cho nhà phát triển itunesconnect.apple.com. Trên cổng thông tin này, bạn có thể gửi đơn đăng ký của mình để xem xét, xem số liệu thống kê tải xuống hàng ngày, điền thông tin chi tiết về tài khoản mà Apple sẽ phải ghi có số tiền kiếm được, đặt phiên bản EULA của riêng bạn...

Nhân tiện, về việc kiểm tra ứng dụng. Các chàng trai đang cố gắng khá tận tâm và thậm chí còn kiểm tra các đơn đăng ký của Nga một cách cẩn thận nhất. Lần đầu tiên đơn đăng ký của chúng tôi bị từ chối vì họ không thể đăng nhập vào Elba (bạn chỉ có thể làm việc trên ứng dụng di động - hiện tại bạn cần phải đăng ký qua ứng dụng web). Lần thứ hai, khi chúng tôi đã cung cấp thông tin đăng nhập và mật khẩu thử nghiệm, ứng dụng đã được phê duyệt.

VÀ?

Chuyện gì sẽ xảy ra tiếp theo? Và sau đó, chúng tôi cần nâng ứng dụng của mình trong danh mục Doanh nghiệp lên cao nhất có thể và theo dõi lượt tải xuống. Và cũng tiếp tục làm việc về chức năng. Chà, đừng quên gửi 99 đô la ra nước ngoài mỗi năm một lần để sử dụng cửa hàng có cái tên nổi tiếng AppStore.
Chúc mừng đăng ký!

Nhân tiện, tôi hoàn toàn quên mất :) Đây