6.14 BOSS: Common Items

Applications that use SpotPass must comply with the common guidelines in this chapter.

SpotPass is the name for a process of communication that uses the features of the Background Online Service System (BOSS). Communications with the BOSS data server provided by Nintendo can take place in the background.
Systems with SpotPass can use Nintendo Archive Download tasks (abbreviated as “NADL tasks” throughout this document) or DataStore download and upload tasks to receive "notifications," "data," or combinations of both that are registered with the server.

Notifications include notifications from StreetPass, but this chapter covers only notifications sent from applications via NADL tasks or via DataStore download and upload tasks. Notifications can include images as well as text.

Data includes data used by the application and downloadable contextual banner data.

There are two types of NADL tasks and DataStore download and upload tasks: periodic-execution tasks that run periodically and asynchronously, and immediate-execution tasks that are run immediately from the application at any time.

For information on periodic execution, see 6.15 BOSS: Periodic Execution.
For information on immediate execution, see 6.16 BOSS: Immediate Execution.

6.14.1 Content of Notifications and Data

Restrictions on Distributed Data

Distributed data must meet the following conditions.

  • The data uses a format that is incorporated into the original program (such as additional items and image data). Contact support@noa.com if you plan to download and run a program or script.
  • The application validates downloaded data before displaying or processing it in the application.
    For example, you could check that parameter values are in the expected ranges. There are no restrictions on how this data is validated.
Restrictions when Including Content of a Commercial Nature

Permitted Commercial Content for your application is limited to tie-in information that is specifically related to your application. For any given application, content such as the following is typically acceptable.

  • Notifications about free or paid content for the application.
    This includes things like additional characters and maps.
  • Notifications about publications relating to the application.
    This includes things like strategy guides and books of illustrations.
  • Notifications about application soundtracks.
  • Sequels to the application or other titles in the series, which do not have a more mature rating than the application itself.
    This can only be for applications for Nintendo platforms.
  • Notifications about application events.
  • Promotional information relating to the application.
    This includes things like news about TV commercials or campaigns.

 

Note:

Regardless of the above, you cannot distribute music under copyright by any music copyright collective. Such organizations would include JASRAC and JRC for the Japan market region, or GEMA for the Europe market region.

Distribution is only allowed for items meeting all of the following conditions. Contact Nintendo support at support@noa.com for details. Nintendo may contact you after receiving your plans or ROM submission.

  • The product or content is closely related to the application that originated the task set.
    It is difficult to give a one-size-fits-all definition of "closely related." Contact Nintendo at support@noa.com for details on how this applies to your application.
  • Any advertisement does not use any expressions or wording to encourage a purchase, and only uses objective language.
    For example, displaying things like the price and launch date or a web address for a survey would not be a problem. You could also use the phrase "now on sale," but you cannot use expressions like "big seller" or "popular."
  • Does not include any content relating to applications or services on a directly competing non-Nintendo platform (not including PCs or mobile phones).
  • The advertising language or products do not exceed the application's own rating.
  • Does not include anything offensive.

Distributing commercial messages in a manner that obscures the distinction between in-game messages and commercial messages is likely to cause misunderstanding among users and is therefore regulated in many countries. Accordingly, applications must address this issue as follows depending on the region.

  • For Europe/Australia:
    Make a clear distinction between commercial and non-commercial messages.
  • For the Americas:
    Nintendo recommends making a clear distinction between commercial and non-commercial messages. For Nintendo-published games, discuss how to implement this with your primary contact at Nintendo of America.
  • Other regions:
    Nintendo recommends making a clear distinction between commercial and non-commercial messages.

 

6.14.1.1 Restrictions on Distributed Data

Guideline Item

Any data that is distributed must be in a format that can be incorporated into the original program. The application must also validate it before displaying or processing it.

Software to Be Tested

Applications that register NADL tasks for receiving data.

Exceptions
Applications that have received prior permission from Nintendo.
Test Method

Check the content of data to be distributed.

Pass/Fail Determination

Passes if the following two conditions are met.

  • The data format is loadable by the main program (additional items and image data, for example).
  • The application validates the data (confirms that its parameters are in the expected range, for example) before displaying or processing it.

6.14.1.2 Restrictions on Notifications and/or Data of a Commercial Nature

Guideline Item

Any notifications and data that include commercial content must satisfy the conditions stipulated by Nintendo in order to be distributed.

Software to Be Tested

Applications that register NADL tasks for receiving notifications and/or data including commercial content.

Test Method

Check the content to be distributed.

Note: Because this is a restriction on day-to-day operation, Lotcheck will not perform any tests on this item.

Pass/Fail Determination

Passes if the content to be distributed meets all of the following conditions.

  • Consists solely of content that is relevant to the application. (Such as add-on content or strategy guides.)
  • If the content contains advertising language, the content only uses objective language, and does not use any expressions or wording to encourage a purchase.
  • Does not include any content relating to applications or services on a directly competing non-Nintendo platform (not including PCs or mobile phones).
  • The advertising language and products do not deviate from the application rating.
  • Does not contain offensive material.
  • Makes a clear distinction between commercial and non-commercial messages. (Europe and Australia markets)
  • Other conditions stipulated by Nintendo have been satisfied.

6.14.2 Data Collection via SpotPass

When the publisher collects play histories or other data using upload tasks or DataStore upload tasks, the application must inform the user of the content of the uploaded data and obtain their consent to sending the data. It is prohibited to include personal information in the transmitted data.

Additionally, if the application collects data either periodically or each time it connects to the Internet, you must implement a feature that allows the user to stop the sending of data. You must also delete any tasks that the user has stopped in this way. If the user has stopped the sending of data, then the application must get user consent again in order to start collecting data again.

The application must obtain user consent separately for each set of save data.

Note:

These steps provide the SpotPass opt-in and opt-out features mentioned in sections 6.14.4 User Consent Prior to Beginning Downloads and 6.14.5 Application Feature to Opt Out from Receiving Data.

6.14.2.1 Prohibition of Collecting Personal Information via SpotPass

Guideline Item
The application must not use SpotPass to send personal information.
Software to Be Tested
Applications that use SpotPass to collect data.
Test Method
Check the source code.
Pass/Fail Determination
Passes if no personal information is included in the collected data.

6.14.2.2 User Consent to Start Data Collection via SpotPass

Guideline Item

Applications that collect data using SpotPass must inform users of the types of data to be collected and obtain user consent before sending the data. Consent must be obtained separately for each set of save data.

Software to Be Tested
Applications that use SpotPass to collect data.
Test Method
  1. Proceed to a scene where the application sends data.
  2. Check the source code to confirm that data is being sent only after user consent was obtained.
  3. Using a different save data, perform steps 1 through 2 again.
Pass/Fail Determination

Passes if all of the following conditions are met.

  • In step 1, the application displays a message informing the user of the content of the data that will be collected, and gets user consent to sending this data.
  • In step 2, the application only sends data after user consent has been obtained.
  • In step 3, the two conditions above are met.

6.14.2.3 Supporting a Feature to Stop Data Collection via SpotPass

Guideline Item

Applications that collect data either periodically or each time they connect to the network must implement a feature that allows the user to stop the sending of data.

Software to Be Tested

Applications that use SpotPass to collect data either periodically or upon each time they connect to the Internet.

Test Method
  1. Check whether there is an opt-out feature within the application that allows the user to stop data collection.
  2. Within the application, use the opt-out feature to stop data collection.
  3. Start BossLotcheckTool and check whether the task stopped in step 2 still exists.

 

Note: If your application uses immediate-execution tasks to collect data, you can't check for them in BossLotcheckTool. Check the source code instead.

Pass/Fail Determination
Passes if all of the following conditions are met.
  • In step 1, the application implements an opt-out feature to stop data collection.
  • In step 3, the stopped task has been deleted.

6.14.2.4 Resuming Data Collection via SpotPass

Guideline Item
When resuming data collection after the sending of data was stopped, applications must again obtain user consent in accordance with section 6.14.2.2 User Consent to Start Data Collection via SpotPass. Consent must be obtained separately for each set of save data.
Software to Be Tested

Applications that use SpotPass to collect data either periodically or upon each time they connect to the Internet.

Test Method
  1. Prepare two sets of save data (A and B) whose players have consented to sending data.
  2. Use the opt-out feature to stop data collection on save data A and B.
  3. On save data A, proceed to a scene where the application sends data for collection.
  4. On save data B, proceed to a scene where the application sends data for collection.
  5. Check the source code to confirm that data is being sent only after consent was obtained.
Pass/Fail Determination

Passes if all of the following conditions are met.

  • In step 3, the application again displays a message informing user A of the content of the data that will be collected, and gets user consent to sending this data.
  • In step 4, the application again displays a message informing user B of the content of the data that will be collected, and gets user consent to sending this data.
  • In step 5, the application only sends data after user consent has been obtained.

6.14.3 Data Size for SpotPass

The maximum allowed sizes per single-item distribution are 50 KB for notifications and 1 MB for data. Contact Nintendo at support@noa.com if you plan to send notifications or data in excess of these restrictions.

Note:

Notifications are stored in system memory, so these size restrictions are strict and cannot be relaxed. Please be aware of this.

Keep the cumulative total of data (not including notifications) distributed by a single application using NADL tasks, from the start of the service until it terminates, to within 100 MB. Downloaded contextual banner data is not included in this total. Contact Nintendo at support@noa.com if the total amount of distributed data will exceed this 100 MB limit.

Data is sometimes downloaded again if it is re-registered with the server; manage your data effectively and implement application workarounds to avoid unnecessary network traffic.

6.14.3.1 Data Size Compliance for SpotPass

Guideline Item

The total amount of data (not including notifications) that a single application distributes via NADL tasks must be no more than 100 MB, from the start of service until its termination.

Software to Be Tested

Applications that use download tasks to download data (aside from notifications).

Test Method

Check the total amount of data (not including notifications) planned to be distributed.

Pass/Fail Determination

Passes if the total amount of data (not including notifications) planned to be distributed is no more than 100 MB.

6.14.4 User Consent Prior to Beginning Downloads

The user must first opt in before they can start receiving notifications or data.
"Opting in" is a way for the user to agree ahead of time to receive advertisements and other information. A means for opting in is required for applications targeting the Americas and Europe market regions.
Nintendo requires that all applications include the above regardless of the application’s geographic market. Even applications that are not intended for the Americas and Europe market regions must therefore display a message confirming with the user that it is acceptable to start receiving notifications and data via NADL tasks or DataStore download tasks, and obtain the user's consent before the application starts to receive them. However, this restriction does not apply to cases such as the examples below, where the data that is distributed does not include commercial content or UGC.

  • Distribution of in-application events or extra data
    •  Every month, changing the items that drop in a given stage
    •  Distributing a daily puzzle or quiz related to the game
    •  Adding characters every month
  • Distributing configuration data for adjusting parameters (game balancing)
    •  Distributing parameters to balance the strength of characters in online play or other play modes
  • Checking for update patches
    Note: This applies only to checking whether updates exist. When actually downloading a patch, the application must implement any necessary handling required by the guidelines in volume 9 Patches.

You do not need to display this opt-in message for each task; you can display the message just once to cover multiple tasks. For example, when registering two NADL tasks, one to distribute notifications and one to distribute notifications and data, you can display just one message that applies to both tasks.

It is not a problem for the application to change the message displayed or the method of display. For instance, the message could be shown in a dialog box, or as dialogue presented by a character. However, you must comply with the following.

■ For the Americas and Europe Target Markets

The opt-in message displayed must include both the provider name and a description of the notifications and/or data to be distributed. Example Message(s):

  1. If Distributing Notifications
    Display a message such as, "Would you like to receive notifications about [xxx] (for example, events) relating to this application from [provider name] via SpotPass?"
  2. If Distributing Data
    Display a message such as, "Would you like to receive [yyy] (for example, additional characters) from [provider name] via SpotPass?"
  3. If Distributing Notifications and Data
    Display a message such as, "Would you like to receive notifications about [xxx] (for example, events) relating to this application and [yyy] (for example, additional characters) from [provider name] via SpotPass?"

If the user has opted into receiving commercial notifications, that is considered as opting in also to receive non-commercial notifications. This opt-in agreement is valid until the user opts out.

When using a single message to confirm receipt of notifications or data from multiple providers, the message must list all of the providers by name. Below are some example messages.

Would you like to receive notifications about [xxx] (for example, events) relating to this application from [provider A] and [provider B] via SpotPass?

■ For All Other Target Markets

Display a message informing the user that the application will use SpotPass to deliver notifications, data, or both. Example Message(s):

  1. If Distributing Notifications
    Display a message such as, "Would you like to receive notifications relating to this application via SpotPass?"
  2. If Distributing Data
    Display a message such as, "Would you like to receive data relating to this application via SpotPass?"
  3. If Distributing Notifications and Data
    Display a message such as, "Would you like to receive notifications and data relating to this application via SpotPass?"
■ Receiving Commercial Notifications and Data

If the user will receive commercial notifications and/or data (advertisements and/or promotions) via NADL tasks or DataStore download tasks, then you must include an explanation that the user will receive advertisements and/or promotions in the message displayed, in addition to complying with the restrictions for your target market(s). Example Message(s):

Would you like to receive notifications (including advertisements and/or promotions) about [xxx] (for example, events) relating to this application from [provider name] via SpotPass?

See section 6.14.1 Content of Notifications and Data for details on commercial notifications and data.

6.14.4.1 User Consent Prior to Downloads (for the Americas and Europe Target Markets)

Guideline Item

Before starting the distribution of notifications and/or data via NADL tasks or DataStore download tasks, the application must display a message that includes the provider name and type of notifications and/or data to be distributed, and must obtain the user's consent. When using a single message to confirm reception of notifications and/or data from multiple providers, the message must list all of the providers by name, and obtain the user’s consent in advance.

Software to Be Tested

Applications targeted for the Americas or European markets that register NADL tasks or DataStore download tasks.

Exceptions
If the registered NADL tasks or DataStore download tasks only receive data (and the data does not include commercial content or UGC).
Test Method

Register all NADL tasks or DataStore download tasks that can be registered.

Pass/Fail Determination

If the registered NADL tasks or DataStore download tasks only receive notifications:

Passes if the following or an equivalent message is displayed and the user's consent is obtained before registering the NADL tasks or DataStore download tasks: "Would you like to receive notifications about [xxx] (for example, events) relating to this application from [provider name] via SpotPass?"

If the registered NADL tasks or DataStore download tasks only receive data (and the data includes commercial content or UGC):

Passes if the following or an equivalent message is displayed and the user's consent is obtained before registering the NADL tasks or DataStore download tasks: "Would you like to receive [yyy] (for example, additional characters) from [provider name] via SpotPass?"

If the registered NADL tasks or DataStore download tasks receive both notifications and data:

Passes if the following or an equivalent message is displayed and the user's consent is obtained before registering the NADL tasks or DataStore download tasks: "Would you like to receive notifications about [xxx] (for example, events) relating to this application and [yyy] (for example, additional characters) from [provider name] via SpotPass?"

All Applications:

When using a single message to confirm reception of notifications and/or data from multiple providers, the required message for display must list all of the providers by name.

6.14.4.2 User Consent Prior to Downloads (For Target Markets Other than the Americas/Europe)

Guideline Item

Before beginning the receipt of notifications and data through NADL tasks or DataStore download tasks, the application must display an opt-in message to the user informing them that SpotPass will be used to deliver notifications or data or both, and then obtain user consent.

Software to Be Tested

Applications targeted for markets other than the Americas and European that register NADL tasks or DataStore download tasks.

Exceptions
If the registered NADL tasks or DataStore download tasks only receive data (and the data does not include commercial content or UGC).
Test Method

Register all NADL tasks or DataStore download tasks that can be registered.

Pass/Fail Determination

If the registered NADL tasks or DataStore download tasks only receive notifications:

Passes if the following or an equivalent message is displayed and the user's consent is obtained before the NADL task or DataStore download task is registered: "Would you like to receive notifications relating to this application via SpotPass?"

If the registered NADL tasks or DataStore download tasks only receive data (and the data includes commercial content or UGC):

Passes if the following or an equivalent message is displayed and the user's consent is obtained before the NADL task or DataStore download task is registered: "Would you like to receive data relating to this application via SpotPass?"

If the registered NADL tasks or DataStore download tasks receive both notifications and data:

Passes if the following or an equivalent message is displayed and the user's consent is obtained before the NADL task or DataStore download task is registered: "Would you like to receive notifications and data relating to this application via SpotPass?"

6.14.4.3 Confirming With the User When Distributing Commercial Notifications and Data

Guideline Item

When using NADL tasks or DataStore download tasks to distribute commercial notifications and/or data (advertisements/promotions) to users, the application must not only comply with restrictions for each target market, but also include an explanation in the opt-in message that the user will receive advertisements/promotions.

Software to Be Tested

Applications that register NADL tasks and/or DataStore download tasks that distribute commercial notifications and/or data (advertisements/promotions).

Test Method

Register all NADL tasks or DataStore download tasks that distribute commercial notifications and/or data (advertisements/promotions).

Pass/Fail Determination

Passes if the opt-in message not only complies with the restrictions for each target market but also includes a phrase equivalent to "(including advertisements and/or promotions)", indicating the notifications or data to be distributed by the task.

6.14.5 Application Feature to Opt Out from Receiving Data

When an application has the capability to receive notifications or data, you must include a feature in the application that allows the user to opt out from receiving any further notifications or data. This opt-out feature cancels any previous opt-in or consent obtained from the user and must stop the user from receiving any further notifications or data. Applications for the European or Americas market regions are already required to include both opt-in and opt-out features. Nintendo's policy, however, is that every application needs an opt-out feature, regardless of the application’s geographic market. Consequently, Nintendo requires implementation of an opt-out feature even in applications that are not intended for the European or Americas market regions. Note, however, that an opt-in feature is not necessary for notifications or data that do not contain commercial content or UGC. In this case, an opt-out feature is not required either.

Specifically, when you use NADL tasks or DataStore download tasks to receive data containing commercial content or UGC, you must establish a feature within your application that allows the user to easily opt out from receiving any further data regardless of the progress of the application. For example, one way to do this is to allow the user to get to the opt-out sequence from the title screen. When the user selects this opt-out feature, your application must delete the registered NADL tasks or DataStore download tasks. Because only a limited number of tasks can be registered to the system at one time, call nn::boss:UnregisterTask to delete tasks instead of calling nn::boss::Task::Cancel to suspend them. If receiving both data and notifications using one task, you can opt instead to not delete the task and continue receiving just the notifications.

You do not need to include a feature in the application for users to opt out from receiving notifications. The user can always opt out of notifications by going to Notifications on the HOME Menu and enabling the opt-out flag on the application's NADL task or DataStore download task.

 

6.14.5.1 Checking Feature to Opt Out of Receiving Data

Guideline Item

Applications that register NADL tasks or DataStore download tasks that receive data containing commercial content or UGC must implement an opt-out feature that gives the user an easy way to stop receiving data.
When the user opts out of receiving data, the application must delete such tasks.

Software to Be Tested

Applications that register NADL tasks and/or DataStore download tasks that distribute data containing commercial content or UGC.

Exceptions

Applications that register NADL tasks or DataStore download tasks only for one-time immediate-execution downloads.

Test Method

Follow the steps below.

  1. Register an NADL task or DataStore download task that distributes data containing commercial content or UGC.
  2. Check whether there is a feature within the application that allows you to opt out of receiving data.
  3. Use the opt-out feature to stop receiving data.
  4. Use the BossLotcheckTool to check whether the opted-out task still exists.
Pass/Fail Determination

Passes if all of the following conditions are met.

  • The application has implemented an opt-out feature, and using this stops the reception of data.
  • Registered tasks that only received data are deleted.

6.14.6 Support for Opting Out of Receiving Notifications

When the user takes steps within the application to halt reception of notifications, the application must delete the NADL task. Furthermore, Nintendo recommends that the application check its own NADL tasks' opt-out flags when launching. If the flag is set to ON, then Nintendo recommends that the application delete the NADL task. Because only a limited number of NADL tasks can be registered to the system at one time, you need to call nn::boss:UnregisterTask to delete tasks instead of calling nn::boss::Task::Cancel to pause them.

Users can stop receiving notifications for individual applications from Notifications on the HOME Menu. This sets the opt-out flag for the relevant NADL tasks. Although notifications for the corresponding applications are not displayed while the opt-out flag is set, notifications are still downloaded. To avoid unnecessary downloads, design your application to check the opt-out flag of its NADL tasks on application launch. The application should delete any tasks that have the opt-out flag set. In addition, ensure that the user can re-register NADL tasks to start receiving the notifications again. If using an NADL task that receives both data and notifications and you want to continue receiving just the data, you do not need to delete the NADL task. However, if the user later takes steps within the application to halt reception of data, you must then delete the NADL task.

For NADL tasks that only receive data, you do not need to support the items in this section because the opt-out flag has no effect, even when set.

6.14.6.1 Implementing a Feature to Opt Out of Notifications

Guideline Item

If the application implements a feature that allows the user to opt out of notifications from within the application, the feature must be able to handle the different kinds of NADL tasks.

Software to Be Tested

Applications that implement a feature to opt out of notifications.

Test Method
  1. From within the application, register an NADL task that receives notifications.
  2. Opt out of receiving notifications from the menu that allows you to do so, and then exit the application.
  3. Use the BossLotcheckTool to determine whether the NADL task still exists.
Pass/Fail Determination

If the registered NADL task only receives notifications:

Passes if the NADL task is deleted.

If the registered NADL task receives both notifications and data, and it does not continue receiving data after notifications have been stopped:

Passes if the NADL task is deleted.

If the registered NADL task receives both notifications and data, and it continues to receive data after notifications have been stopped:

Passes if the NADL task remains. However, if the user performs whatever operation is required to opt out of receiving data, the NADL task must be deleted.

6.14.6.2 Confirming That Notifications Can Be Received Again

Guideline Item

If the user opts out of notifications from an NADL task in the Notifications applet or by using an opt-out feature within the application, the application must allow the user to re-register that deleted NADL task and re-enable the receiving of notifications from within the application.

Software to Be Tested

Applications that register NADL tasks for receiving notifications.

Test Method

If the NADL task only receives notifications:

  1. Delete the NADL task either from the Notifications applet or by using the application's notification opt-out feature.
  2. Re-register the deleted NADL task.
  3. Open the HOME Menu, and use the BossLotcheckTool to run the NADL task.

If the NADL task receives both notifications and data, and it does not continue receiving data after notifications have been stopped:

  1. Delete the NADL task either from the Notifications applet or by using the application's notification opt-out feature.
  2. Re-register the deleted NADL task.
  3. Open the HOME Menu, and use the BossLotcheckTool to run the NADL task.

If the NADL task receives both notifications and data, and it continues to receive data after notifications have been stopped:

  1. Stop notifications from the Notification applet or an in-application menu that has the notifications opt-out feature.
  2. Stop data downloads from an in-application menu that has the data opt-out feature, and delete the NADL task.
  3. Re-register the deleted NADL task.
  4. Open the HOME Menu, and use the BossLotcheckTool to run the NADL task.
Pass/Fail Determination

Passes if you are able to receive notifications again by re-registering the deleted NADL task.

6.14.7 Resuming Downloads

When the user opts out of receiving notifications or data, the application must delete the relevant NADL tasks or DataStore download tasks, as described in sections 6.14.5 Application Feature to Opt Out from Receiving Data and 6.14.6 Support for Opting Out of Receiving Notifications.

The user must opt in again in order for the application to then re-register the NADL tasks or DataStore download tasks. When doing so, the application must get user consent, as described in 6.14.4 User Consent Prior to Beginning Downloads.

6.14.7.1 User Consent Prior to Resuming Downloads

Guideline Item

When re-registering an NADL task or DataStore download task that was opted out of and deleted, the application must again get user confirmation.

Software to Be Tested

Applications that register NADL tasks and/or DataStore download tasks that distribute data or notifications containing commercial content or UGC.

Test Method
  1. Register all NADL tasks or DataStore download tasks that can be registered.
  2. Delete the registered tasks using the Notifications applet or an opt-out feature within the application.
  3. Re-register all of the deleted tasks.
Pass/Fail Determination

Passes if the application complies with section 6.14.4 User Consent Prior to Beginning Downloads and gets user consent before re-registering the NADL tasks or DataStore download tasks.

6.14.8 Complying With the EULA During SpotPass Communication

NADL tasks and DataStore download and upload tasks cannot be run when the user has not agreed to the EULA. However, applications are able to register such tasks whether or not the user has agreed to the EULA. If the user has not agreed to the EULA, there is a danger of confusing the user because the tasks are registered but not run.

For this reason, the first time any application registers an NADL task or a DataStore download or upload task, it must check whether the user has agreed to the EULA. If the user has not agreed to the EULA, the application must call the EULA applet to prompt the user to agree to the EULA. Alternatively, display a message such as the following and prompt the user to agree to the EULA from System Settings: “To use SpotPass, you must accept the terms of the Nintendo 3DS Service User Agreement. In the System Settings, select Internet Settings ⇒ Other Information ⇒ User Agreement and agree to the terms.” Do not register tasks unless the user has agreed to the latest EULA.
Note that a user may be required to agree to the EULA more than once. Specifically, a user must agree to the EULA again when the EULA's major version changes, when the Nintendo 3DS system's country setting changes, and when the Nintendo 3DS is initialized (system memory is formatted). In such cases, Nintendo recommends prompting the user to agree to the EULA just as if the EULA had not yet been agreed to.

Running an immediate-execution task after calling one of the nn::ac::Connect* functions returns an EULA non-agreement error. Running an immediate-execution task without calling one of the nn::ac::Connect* functions will also return an error.

6.14.8.1 SpotPass: Handling When the User Has Not Agreed to the EULA

Guideline Item

The application must check whether the user has agreed to the EULA when first registering an NADL task or a DataStore download or upload task, and if the user has not agreed to the EULA, the application must call the EULA applet and prompt the user to agree to the EULA.

Software to Be Tested

Applications that register NADL tasks or DataStore download or upload tasks.

Test Method
  1. Prepare a system on which the application has never been launched and the user has not agreed to the EULA. (If you do not have a system on which the user has not agreed to the EULA, set this state using the Config tool.)
  2. Launch the application and proceed to a scene where an NADL task or DataStore download or upload task is registered.

Note: Check all scenes where an NADL task or DataStore download or upload task can be registered.

Pass/Fail Determination

Passes if the following two conditions are met.

  • The application calls the EULA applet before registering an NADL task or DataStore download or upload task. Alternatively, the application displays a message such as the following and prompts the user to agree to the EULA from System Settings: “To use SpotPass, you must accept the terms of the Nintendo 3DS Service User Agreement. In the System Settings, select Internet Settings ⇒ Other Information ⇒ User Agreement and agree to the terms.”
  • If the user does not agree to the EULA, no NADL tasks or DataStore download or upload tasks are registered.

6.14.9 Number of Registered Tasks

A system can only register up to a combined total of 128 NADL tasks and DataStore download and upload tasks for all applications. Consequently, a single application is only allowed to register up to a total of 5 NADL tasks and DataStore download and upload tasks.

Note that dedicated immediate-execution tasks are available starting from CTR-SDK version 3.x, and these are not subject to the above restriction. An application can use dedicated immediate-execution tasks regardless of the total number of NADL tasks and DataStore download and upload tasks already registered.

6.14.9.1 Restrictions on the Number of Registered Tasks

Guideline Item

A single application must not be able to register more than five NADL tasks and DataStore download and upload tasks, excluding dedicated immediate-execution tasks.

Software to Be Tested

Applications that register NADL tasks and/or DataStore download or upload tasks.

Test Method

Register all of the NADL tasks and DataStore download and upload tasks that can be registered within the application, then use BossLotcheckTool to check the number of tasks that have been registered.

Pass/Fail Determination

Passes if the total number of NADL tasks and DataStore download and upload tasks is five or fewer, excluding dedicated immediate-execution tasks.

6.14.10 Handling When a Task Has Been Deleted

When an application registers an NADL task or DataStore download or upload task after the maximum number of tasks has already been registered, the system makes room for the new task by automatically deleting an existing task that matches certain conditions, from among the tasks for all applications. An application must therefore check on launch to see if it has any remaining NADL tasks or DataStore download or upload tasks of its own.

If your application’s NADL task or DataStore download or upload task has been automatically deleted by the system, it is not a problem to re-register the task without getting user confirmation.

No required guideline items.

6.14.11 Handling Changes to Task Settings

When deleting a task and registering a new task in order to change the settings for an NADL task or DataStore download or upload task, you do not need to get user confirmation. For example, when changing to a different task in order to change a setting such as language, you do not need to get user opt-in. However, you do need to get user opt-in when changing the kind of notification or data that is distributed.

Since the appropriate handling depends on the circumstances, Nintendo recommends implementing your application to always get user opt-in when re-registering a task.

No required guideline items.

6.14.12 Service Discontinuation

When discontinuing a service distributing notifications or data, add a service-discontinued flag to a notification or data file and register that to the server.

■ When the Service Used Periodic NADL Tasks

When discontinuing a service, Nintendo recommends that you distribute a notification that has the service-discontinued flag set to inform the user of service termination. For instance, register a notification on the server with a message such as, “This service distributing notifications via SpotPass is now discontinued. Thank you for using it.” If the service distributes only data, Nintendo recommends displaying a similar message within the application.
Also, if the application has until now always restored the execution count of its NADL tasks on startup, either stop it from restoring the execution count or delete the NADL tasks. Furthermore, if your application includes specifications for immediate execution of a periodic NADL task, see When the Service Used Dedicated Immediate-Execution Tasks below.

■ When the Service Used Dedicated Immediate-Execution Tasks

When discontinuing a service, Nintendo recommends providing some sort of support. For example, you could continue to distribute the final piece of content distributed by the service, or you could distribute a notification that has the service-discontinued flag set and use that to notify users of service discontinuation within the application.

No required guideline items.

6.14.13 When Extra Data Cannot Be Accessed

Even when a SpotPass NADL task or DataStore upload or download task has been registered with the system, applications cannot send or receive notifications or data via SpotPass if the extra data cannot be successfully accessed. As a result, Nintendo recommends that applications check and confirm upon startup that it can access its own extra data.
If an error occurs during the check, handle it in compliance with section 3.5.2 Error Handling for Extra Data. Nintendo recommends that you also take the extra steps below, as necessary.

  • When displaying error messages:
    Inform the user that SpotPass cannot be used because of the error. For example, if access to the SD Card fails, display a message such as, “Cannot use SpotPass because SD Card access failed.”
  • When creating or recreating extra data:
    If extra data creation fails, display a message informing the user that SpotPass cannot be used for this reason.

Users might find it annoying if the application displays an error message every time it is launched. When displaying an error message, Nintendo therefore recommends getting the user’s approval to halt SpotPass uploads and downloads for this application and then deleting the relevant NADL tasks or DataStore upload and download tasks.

No required guideline items.

6.14.14 Invalid Data

Comply with section 3.5.2 Error Handling for Extra Data when received data is invalid due to corruption or tampering. Nintendo also recommends that your application have some means of redownloading such data. Simply deleting data will not cause it to be redownloaded. You must instead re-register an NADL task or DataStore download task to redownload the data. See the Nintendo 3DS Programming Manual: Wireless Communication for details. When re-registering such a task, you do not need to get user consent. However, be aware that the data you are attempting to redownload might have already been deleted from the server.

No required guideline items.

6.14.15 Download Frequency of the NSA List

Download of the NSA list must occur no more than once every few seconds regardless of user operations.

Download of the NSA list is intended to occur only when necessary, and take place in the foreground. It is acceptable to get the NSA list when triggered by some specific user input, but you must ensure that excessively frequent access does not occur. (For example, you could do this by caching the acquired data.)

6.14.15.1 Restrictions on Getting the NSA List

Guideline Item

Applications must download the NSA list no more than approximately once every few seconds.

Software to Be Tested
Applications that download the NSA list.
Test Method
Check the source code.
Pass/Fail Determination

Passes if download of the NSA list occurs no more than approximately once every few seconds.


 


CONFIDENTIAL